Log4j 使用的一点疑问

问题描述

注:想听点实际点的经验之谈想利用Log4j来记录系统的日志,不知道有什么方法可以将日志文件分开。希望能做到:1.比如:TestA.javaTestB.java这两个类,我想在写其日志的时候,能写成TestA.txtTestB.txt,这样在查日志的时候就能非常方便的,很有针对性的去查。说到底,希望能有好的方法能动态的配置log4j.properties.2.对日志的级别有的模糊,怎样有效的设置日志输出级别。希望有高手能指点,或各位能有好的方法,请不惜赐教

解决方案

解决方案二:
那如果你有1000个类岂不是要有1000个对应的日志?
解决方案三:
static{try{Propertiesprop=newProperties();Stringurl="/"+LogUtil.class.getPackage().getName().replaceAll("\.","/")+"/log4j.properties";prop.load(LogUtil.class.getResourceAsStream(url));PropertyConfigurator.configure(prop);}catch(Exceptionre){re.printStackTrace();}}写到你的Class里,就可以分别调用不用的设定文件了.
解决方案四:
X不用的/不同的
解决方案五:
2楼的方法不错试试看
解决方案六:
好,路过....
解决方案七:
谢谢各位,继续等待新的回复。
解决方案八:
在配置文件中配置下就可以了!1、代码publicclassMyApp{staticLoggerlogger=Logger.getLogger(MyApp.class.getName());publicvoidtestMyApp(){PropertyConfigurator.configure("C:/DocumentsandSettings/Administrator/workspace/Logger/src/MyApp.property");//加载配置文件logger.info("Enteringapplication.");//要写入的信息System.out.println("helloworld!!");logger.info("Exitingapplication.");logger.debug("Operationerror");}}

比较关键就是这,配置文件:#log4j.rootLogger=debug,stdout,Rlog4j.logger.MyApp=debug,stdout,R#MyApp就是指MyApp类。配置了两个名字,stdout和Rlog4j.appender.stdout=org.apache.log4j.ConsoleAppender//配置控制台输出的log4j.appender.stdout.layout=org.apache.log4j.PatternLayout#Patterntooutputthecaller'sfilenameandlinenumber.log4j.appender.stdout.layout.ConversionPattern=%p[%t](%F:%L)-%m%n<%l>{%c}#%7p[%t](%F:%L)-%m%n<%l>{%c}{%l}log4j.appender.R=org.apache.log4j.RollingFileAppender#配置文件输入出log4j.appender.R.File=MyAppexample.loglog4j.appender.R.MaxFileSize=100KB#Keeponebackupfilelog4j.appender.R.MaxBackupIndex=1log4j.appender.R.layout=org.apache.log4j.PatternLayout#配置输出方式log4j.appender.R.layout.ConversionPattern=%p%t%c-%m%n如果想在加一个类,log4.logger.这里写你要操作的类。。下面在接着进行配置。。2、Debug是最高级别的。。这些网上很容易搜的到的!!

时间: 2024-07-28 12:57:56

Log4j 使用的一点疑问的相关文章

汇编语言-汇编MOV的一点疑问!!!

问题描述 汇编MOV的一点疑问!!! DATA SEGMENT USE16 MES1 DB 'Please input:',0AH,0DH,'$' SD DB ? DATA ENDS 然后 MOV AH,1 INT 21H MOV SD,AL 然后就对SD进行操作了 想问下MOV的目的操作数可以是变量(SD)吗??不是只能是寄存器和存储器吗? 解决方案 MOV AH,1 INT 21H 是自动转入中断子程序的入口 通过上面两条指令,会把输入或者读取的字符放到AL中,所以是MOV SD,AL 解决

string-对getBytes()的一点疑问

问题描述 对getBytes()的一点疑问 我输入的程序是这样的 byte d[]=""你我他"".getBytes(); byte b[]=""hahaha"".getBytes(); System.out.println(""数组d的长度是(一个汉字占两个字节):""+d.length+""个字节""); String s=new String

重写-关于覆盖和返回的一点疑问

问题描述 关于覆盖和返回的一点疑问 public class TbShangpininfo { private String spmc; public String getSpmc(){ return spmc; } public String toString() { return getSpmc(); } } TbShangpininfo类重写了toString()方法, JComboBox sp=new JComboBox(); TbShangpininfo info=new TbShan

c语言-关于C语言编译C51单片机程序的一点疑问

问题描述 关于C语言编译C51单片机程序的一点疑问 1.为什么两段不相干的代码会互相影响 在主程序里有一段点亮发光二极管的代码,和一段计数器计数并在数码管上显示的代码.同时工作时,二极管正常点亮,数码管几秒才点亮一回,而且十位显示是闪烁一下就不显示了2.数码管显示时,位选和段选顺序不能改变吗?按照书上的方法是先段选再位选,但是点亮的数码管是本来不应该点亮的,段选和位选顺序换了之后就能正常显示了 解决方案 问题1)你所谓的同时工作是指led亮的同时数码管也在显示,是这样的吗?单片机跑的程序都是单线

局部变量-关于java内存垃圾回收的一点疑问

问题描述 关于java内存垃圾回收的一点疑问 class test{ void m(){ Object obj[]=new Object[1]; Object o = new Object(); obj[0]=o; o = null;//用不着 } } 很常见的一个例子,说最后Object对象都没有被释放,因为obj[0]还引用这个对象. 我的疑问是,既然局部变量在方法运行完,引用会被销毁,也就是说o不用被置为null,也会堆内存的Object对象也会被回收(符合回收的条件,不一定立即GC),那

初学者的一点疑问,汇编语言计算两个输入数字的和并输出

问题描述 初学者的一点疑问,汇编语言计算两个输入数字的和并输出 assume cs:code,ds:data data segment buf1 db 20 db ? db 20 dup(?) buf2 db 20 db ? db 20 dup(?) sh1 db "please input tow numbers$" sh2 db 0ah,0dh,"The first number is $" sh3 db 0ah,0dh,"The second num

javascript-document.createElement的一点疑问

问题描述 document.createElement的一点疑问 为了让IE6支持HTML5的新标签,有人使用了document.createElement()方法,但是这么做不是仅仅在内存中创建了这些对象吗,如何让IE6最终识别了这些新标签?document.createElement()方法不是创建元素节点吗?这与让IE6识别有什么关系? 解决方案 个人看法,你说的有道理,该方法并不会让ie6支持html5新标签,是没有效果的.有个很好用的js文件,html5shiv.js,专门用于解决ie

关于javascript闭包的一点疑问

问题描述 关于javascript闭包的一点疑问 闭包存储局部变量的机理是什么?它如何存储的?比如如下一个闭包 function test(){ var num = 10; return function(){ num++; return num; }; }; var n = test(); alert(n()); //返回11 alert(n()); //返回12,实现了累加 alert(n()); //继续累加 第二次alert(n())通过闭包实现了累加,但是这个局部变量num是如何存储在

关于《javascript 高级程序设计》里“稳妥构造函数模式“的一点疑问

问题描述 关于<javascript 高级程序设计>里"稳妥构造函数模式"的一点疑问 在<javascript 高级程序设计>第六章6.2.7提到"稳妥构造函数模式"的稳妥对象,指的是没有公共属性,而且其方法也不引用this 的对象,最适合在一些安全的环境中(这些环境中会禁止使用this 和new),或者在防止数据被其他应用程序(如Mashup程序)改动时使用.书中举例如下: function Person(name, age, job){