簡體   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