我正在尝试在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。
答案 0 :(得分:0)
这条线 log4j.logger.datenImportLogger = datenImportFileAppender 有问题,它错过了关卡定义
记录器定义应为:
log4j.logger.loggerName=[level|INHERITED|NULL], [appenderName1, appenderName2,...]
e.g。
log4j.logger.datenImportLogger=INFO, datenImportFileAppender
尝试将log4j.debug = true放在log4.propeties文件的顶部,它应该提供额外的日志记录信息(尽管只有在解析了配置后它才会生效)