繁体   English   中英

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

[英]Log4j2 not logging for application deployed in tomcat

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

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

首先尝试添加 log4j-api-2.x 依赖,它是旧 log4j 1.2 版本和 log4j2 之间的桥梁,并将所有日志从 log4j 1.2 重定向到 log4j2。 这个页面帮了我很多:链接来理解它。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM