我想使用log4j将不同的内容记录到不同的文件中。因此我创建了以下配置文件(此时所有内容都写入控制台):
log4j.rootLogger=TRACE, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.debugLog=org.apache.log4j.FileAppender
log4j.appender.debugLog.File=logs/debug.log
log4j.appender.debugLog.layout=org.apache.log4j.PatternLayout
log4j.appender.debugLog.layout.ConversionPattern=%d [%24F:%t:%L] - %m%n
log4j.appender.reportsLog=org.apache.log4j.FileAppender
log4j.appender.reportsLog.File=logs/reports.log
log4j.appender.reportsLog.layout=org.apache.log4j.PatternLayout
log4j.appender.reportsLog.layout.ConversionPattern=%m%n
log4j.category.reportsLogger=DEBUG, reportsLog
log4j.additivity.reportsLogger=false
log4j.category.debugLogger=DEBUG, debugLog
log4j.additivity.debugLogger=false
我使用记录器a:
public class Main {
private static final Logger debugLog = Logger.getLogger("debugLog");
private static final Logger perfLog = Logger.getLogger("reportsLog");
public static void main(String argv[]) {
debugLog.debug("Starting");
perfLog.debug("Starting");
}
}
问题:日志文件已创建但为空。只显示控制台上的输出。 我的配置文件有错吗?