Log4j2没有记录部署在tomcat中的应用程序

时间:2017-06-15 01:41:09

标签: java tomcat logging log4j log4j2

Tomcat版本:8.0.30

我有一个Java应用程序,它使用部署在Linux(Centos 7)上的Tomcat 8中的Log4j2,由于某些原因,没有任何内容写入应用程序日志。但我知道我的配置应该可以工作,因为它可以在不同的服务器上完美运行。

我注意到服务器工作的服务器和服务器启动服务器之间的唯一区别是,在服务器启动的catalina.out中,我看到服务器上的以下警告不起作用:

log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment). 

我已尝试研究此问题,但未能解决该问题。

不确定这是否重要(因为这适用于其他服务器),但我的pom.xml中有以下log4j2依赖项:

  • 的log4j-API
  • log4j的核
  • 的log4j-1.2-API
  • 的log4j-JCL
  • 的log4j-SLF4J-IMPL

1 个答案:

答案 0 :(得分:0)

您提到的警告意味着在应用程序中某处存在旧的依赖项log4j 1.2,并且应用程序正在寻找旧的log4j.xml配置文件。

首先,尝试添加log4j-api-2.x独立性,这是旧的log4j 1.2版本和log4j2之间的桥梁,并将所有日志从log4j 1.2重定向到log4j2。 Thi页面帮了我很多忙:link了解它。

如果这没有帮助,请尝试检查依赖关系树并排除较旧的log4j依赖关系。还要检查您在Linux上的tomact是否具有除log4j2以外的任何其他日志记录实现,并删除该库。也许您的tomcat之间的库有所不同。