java – SLF4J-Log4j记录器没有记录
我想第一次使用SLF4J-Log4j.在每个
Java类中,我都定义了一个这样的记录器:
private org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(<TheClass>.class); (当然,我确保slf4-log4j12-1.6.4.jar JAR在类路径上!) 但每当我去使用记录器时,比如logger.debug(“有趣的事情发生了”);或者logger.error(“发生错误”);我在日志文件中看不到它们的输出.但是,没有异常发生,应用程序(它实际上是部署到Tomcat的WAR)运行正常. 这是项目中包含的log4j.properties文件: # Set the root logger to DEBUG. log4j.rootLogger=DEBUG # MonitorLog - used to log messages in the Monitor.log file. log4j.appender.MonitorAppender=org.apache.log4j.FileAppender log4j.appender.MonitorAppender.File=${catalina.base}/logs/MyAppMonitor.log log4j.appender.MonitorAppender.layout=org.apache.log4j.PatternLayout log4j.appender.MonitorAppender.layout.ConversionPattern= %-4r [%t] %-5p %c %x - %m%n # Use the MonitorAppender to log all messages. log4j.logger.*=DEBUG,MonitorAppender org.quartz.impl.StdSchedulerFactory=DEBUG,MonitorAppender 这个WAR使用Quartz来完成一些工作,这就是你看到最后一个条目的原因. 当我检查Tomcat的logs /目录时,我看到创建了MyAppMonitor.log,但它没有任何内容(0字节).我已经扫描了所有典型的catalina.out,catalina-和localhost-日志,而且我的日志语句都没有看到日光. 我在想: >我没有正确配置log4j.properties,或 任何人都可以找到我要去的地方,或者帮我排除故障吗?提前致谢! 解决方法
您的log4j.properties配置文件中包含许多错误.尝试使用以下简单的东西.
log4j.debug=true log4j.rootLogger=DEBUG,CON log4j.appender.CON=org.apache.log4j.ConsoleAppender log4j.appender.CON.layout=org.apache.log4j.PatternLayout log4j.appender.CON.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n 对于您问题中的配置文件,根记录器没有附加的appender.而且,行 log4j.logger.*=DEBUG,MonitorAppender 无效,因为不支持“*”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |