[英]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 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.