Log4j具有不同记录器和一个属性文件的多个类

时间:2013-05-24 10:48:13

标签: java log4j

我有两个课程 A B 。我想将A类记录到a.log,将B类记录到b.log,根目录中只有一个log4j.properties,到目前为止我的努力:

在A班:

private static final Logger l = Logger.getLogger("classa");

在B班:

private static final Logger l = Logger.getLogger("classb");

log4j.properties:

log4j.logger.classa=ALL,A1
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.append=false
log4j.appender.A1.MaxBackupIndex=1
log4j.appender.A1.file=a.log
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

log4j.logger.classb=ALL,A2
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.append=false
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.file=b.log
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

这有效!

通过班级名称检索:

private static final Logger l = Logger.getLogger(MyClass.class.getName());

两个班级名称记录器:

log4j.logger.my.package.MyClassA=Debug,A1
log4j.logger.my.package.MyClassB=Debug,A2