本文位转载,转载地址:http://blog.csdn.net/tterminator/article/details/53559936
一、引言
平常开发的过程中,有时不想把所有的日志都打印到同一个log文件中,除了Java工程集成log4J 1.x博文中介绍的使用一个logger
,配置多个appender
的log4j.appender.D.Threshold
属性外,还可以在配置文件log4j.properties
中配置多个logger的方式实现。
二、具体配置
在本配置中除了默认的rootLogger外,又增加了一个secondLogger
,请注意具体的配置语法。
log4j.rootLogger =DEBUG,console,file
log4j.logger.secondLogger =DEBUG,console,secondAdpter
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} [%t] (%F:%L) %m%n
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.file=./log/first.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} [%t] (%F:%L) %m%n
log4j.appender.secondAdpter=org.apache.log4j.DailyRollingFileAppender
log4j.appender.secondAdpter.file=./log/second.log
log4j.appender.secondAdpter.DatePattern='.'yyyy-MM-dd
log4j.appender.secondAdpter.layout=org.apache.log4j.PatternLayout
log4j.appender.secondAdpter.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} [%t] (%F:%L) %m%n
只要使用以下方式获取secondLogger
即可把日志单独写入到文件./log/second.log
中:
private static final Logger log = Logger.getLogger("secondLogger");
- 这里引入的Logger类为
import org.apache.log4j.Logger;
四、错误用法
需要说明的是,引入如下类:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
- 使用如下Java代码单独写入
./log/second.log
日志是失败的。
private static final Log log = LogFactory.getLog(secondLogger.class);