Java log4j找不到记录器的appender

时间:2016-04-19 14:14:47

标签: java log4j

我正在尝试在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不可用。

应使用以下代码调用记录器:

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

已配置Root Logger。

1 个答案:

答案 0 :(得分:0)

这条线 log4j.logger.datenImportLogger = datenImportFileAppender 有问题,它错过了关卡定义

记录器定义应为:

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

来源:The Complete Log4j Manual

e.g。

log4j.logger.datenImportLogger=INFO, datenImportFileAppender

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