为什么没有查询到日志输出

问题背景:
项目中某个功能发送队列,造成队列积压,系统功能预警
通过日志查询何处调用、何时调用,根据程序中的输出日志在生成环境的log中没有检索到

问题分析:
1.对比已有代码发现有两种日志输出方式,引用的JAR包不同

// 打印日志在测试环境可查看到
org.slf4j.Logger logger = LoggerFactory.getLogger(this.getClass());
// 打印日志在测试环境未能看到
org.apache.log4j.Logger logger = Logger.getLogger(this.getClass());		


2.Java项目中引用了
log4.properties / log4j2.xml / logback.xml

3.self4j 是日志输出的工厂类,具体实现取决于底层是有 log4j 还是 logback 实现

4.web.xml 配置的是 log4j2

5.self4j 的默认实现是 logback ,但 web.xml 中配置的检索文件的路径是log4j.properties ,可是 logback 中的配置输出日志的路径确实在起作用,何时加载的logback.xml ?

项目中同时使用  slf4j log4j 打印日志,log4j 打印的日志找不到
web.xml 中默认加载  log4j ,logback.xml 是如何起作用的
log4j 直接输出无日志,self4j 输入有,但 slf4j 底层使用的依然是 log4j 的配置

问题总结:

1.使用 self4j 的 Logger 进行日志输出

猜你喜欢

转载自mingyundezuoan.iteye.com/blog/2396397