一.log4j.properties文件格式说明:
log4j.rootLogger=info, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller‘s file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
第一行,配置log4j.rootLogger你明白吧。应为它是根,等号后面的第一个参数表示日志级别,可以填五个级别中的一种,后面的参数都是让Log知道输出到哪里,如果你想让日志输出到两个地方就加两个输出参数,比如:
log4j.rootLogger=info, stdout, file
这里的info表示,该Log的日志级别为info,所有级别小于info的日志都不会被记录。比如使用这个配置文件的话,我刚开始举的那个类中
log.debug("Debug info.");
这句话是不起作用的,因为debug的级别小于info。这样就很容易控制什么信息在调试的时候要显示,什么信息在发布的时候要去掉。这些都不用改代码,很方便吧。
但,stdout和file又是什么呢?
接着往下看,就是配置stdout了,这个名字是随便取的,你可以叫它A:
log4j.appender.A=org.apache.log4j.ConsoleAppender
那么上面的rootLogger的参数stdout也要改成A,其他用到的地方当然也要改。这里的关键不是名字,而是appender类型,比如这里的“ConsoleAppender”,看明白了吧,输出到Console。后面两行都是设置日志格式的,一般情况下你就照抄吧。
二。配置方面:把log4j的包和commons-logging的包(加在一起才两个)放到classpath下面。然后把配置文件保存为log4j.properties,也放在classpath下面(如果用Eclipse的话,放在src目录下即可)。然后你就可以跑了。