У меня есть следующий файл log4j.properties:
log4j.rootLogger=DEBUG,A1,A2,A3
log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.Threshold=DEBUG
log4j.appender.A1.File=log.out
log4j.appender.A1.MaxFileSize=100KB
log4j.appender.A1.MaxBackupIndex=1
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%p %d %t %c - %m%n
log4j.appender.A2=org.apache.log4j.RollingFileAppender
log4j.appender.A2.Threshold=WARN
log4j.appender.A2.File=warnings.out
log4j.appender.A2.MaxFileSize=100KB
log4j.appender.A2.MaxBackupIndex=1
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%p %d %t %c - %m%n
log4j.appender.A3=org.apache.log4j.RollingFileAppender
log4j.appender.A3.Threshold=ERROR
log4j.appender.A3.File=errors.out
log4j.appender.A3.MaxFileSize=100KB
log4j.appender.A3.MaxBackupIndex=1
log4j.appender.A3.layout=org.apache.log4j.PatternLayout
log4j.appender.A3.layout.ConversionPattern=%p %d %t %c - %m%n
В моей программе на Java определена следующая переменная:
private Logger logger = Logger.getRootLogger();
static {
URL url = MyClass.class.getClassLoader().getResource("/log4j.properties");
if (url == null) {
// log4j.properties not found in CLASSPATH, revert to console output
BasicConfigurator.configure();
}
else {
// log4j.properties found
PropertyConfigurator.configure(url);
}
}
Почему, когда я вызываю регистраторметоды, вывод также идет на консоль (stdout), в дополнение к 3 выходным файлам?