Java log4j 找不到记录器的附加程序

Java log4j No appenders could be found for logger

我正在尝试在 log4j 中制作自定义记录器和附加器,但我收到了令人困惑的错误消息。

这是错误:

[n.a.:n.a.] 19.Apr.2016 15:54      81 [              preRegister] ERROR stderr           - log4j:WARN No appenders could be found for logger (datenImportLogger).
[n.a.:n.a.] 19.Apr.2016 15:54      81 [              preRegister] ERROR stderr           - log4j:WARN Please initialize the log4j system properly.
[n.a.:n.a.] 19.Apr.2016 15:54      81 [              preRegister] ERROR stderr           - log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

这是我的配置:

# datenImportLogger
log4j.logger.datenImportLogger=datenImportFileAppender
log4j.additivity.datenImportLogger=false
log4j.appender.datenImportFileAppender=org.apache.log4j.RollingFileAppender
log4j.appender.datenImportFileAppender.File=java/log/datenimport.log
log4j.appender.datenImportFileAppender.MaxBackupIndex=5
log4j.appender.datenImportFileAppender.MaxFileSize=5MB
log4j.appender.datenImportFileAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.datenImportFileAppender.layout.ConversionPattern=[%X{USER_CODE}:%X{CALLER_ID}] %d{dd.MMM.yyyy HH:mm:ss,SSS} - %m%n

我是不是漏掉了什么?

是否有提供运行时调试的调试能力,

因为 -Dlog4j.debug 不可能。

Logger 应该在如下代码中调用:

private static final Logger     logger      = Logger.getLogger("datenImportLogger");

Root Logger 已配置。

log4j.logger.datenImportLogger=datenImportFileAppender 有问题,它错过了级别定义

记录器定义应该是:

log4j.logger.loggerName=[level|INHERITED|NULL], [appenderName1, appenderName2,...]

来源:The Complete Log4j Manual

例如

log4j.logger.datenImportLogger=INFO, datenImportFileAppender

尝试将 log4j.debug=true 放在 log4.propeties 文件的顶部,它应该提供额外的日志记录信息(尽管它只会在配置被解析后产生影响)