0

私は 2 つのクラスABを持っています。ルートディレクトリに単一のlog4j.propertiesを使用して、クラスAをa.logに、クラスBをb.logに記録したいのですが、これまでの私の努力は次のとおりです。

クラス A:

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

クラス B:

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

log4j.プロパティ:

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

何か案は?

4

1 に答える 1

1

これはうまくいきます!

クラス名で取得:

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

2 つのクラス名ロガー:

log4j.logger.my.package.MyClassA=Debug,A1
log4j.logger.my.package.MyClassB=Debug,A2
于 2013-05-24T13:17:59.033 に答える