我想用log4j2
配置tomcat 7內部日誌記錄。我遵循Logging server classes in Tomcat 6 with log4j2提供的答案。tomcat 7內部日誌記錄與log4j2.xml
我使用的是tomcat 7.0.54和log4j-core-2.1.jar
,log4j-api-2.1.jar
。 我已經下加載的演員,做了以下所有步驟,但是當我啓動tomcat,我得到一個錯誤:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
這是我執行的步驟:
- 把
log4j2.xml
在$CATALINA_BASE/lib
從 「額外」
- 下載
tomcat-juli.jar
和tomcat-juli-adapters.jar
- 把
log4j-api-2.1.jar
,log4j-core-2.1.jar
,log4j-jul-2.1.jar
和tomcat-juli-adapters.jar
從「額外」轉換爲$CATALINA_HOME/lib
。 - 替換
$CATALINA_HOME/bin/tomcat-juli.jar
與tomcat-juli.jar
從「額外」。 - 刪除
$CATALINA_BASE/conf/logging.properties
- 設置日誌管理器使用管理器從
log4j2-jul
橋(log4j-jul-2.1.jar
)。改變catalina.sh
確保類路徑包括bin/tomcat-juli.jar
,lib/log4j-jul-2.1.jar
,lib/log4j-api-2.1.jar
和lib/log4j-core-2.1.jar
,以及用來啓動Tomcat的命令包括 -Djava.util.logging.manager = org.apache.logging.log4j.jul.LogManager`
我甚至嘗試在catalina.sh
中加入這個(LOGGING_CONFIG="-Djava.util.logging.config.file=$CATALINA_HOME/lib/log4j2.xml"
),但沒有奏效。
請讓我知道是否有人可以成功配置它。
爲什麼您必須在您的類路徑中添加$ CATALINA_BASE/lib?根據文檔,$ CATALINA_BASE/lib或$ CATALINA_BASE/bin中的庫應該優先於$ CATALINA_HOME/lib或$ CATALINA_HOME/bin中的庫。所以,不應該在類路徑中添加任何內容,根據$ CATALINA_BASE的定義,類路徑應該被正確構建。 這就是說,我有與Tomcat 8相同的問題。我收到以下錯誤: 無法加載Logmanager「org.apache.logging.log4j.jul.LogManager」 java.lang.ClassNotFoundException:.. 。 – Achille 2015-10-18 22:27:03
實際上,如果你的配置文件是$ {CATALINA_BASE},那麼你可以定義log4j的LOGGING_CONFIG變量來代替設置CLASSPATH:LOGGING_CONFIG =「 - Dlog4j.configurationFile = $ {CATALINA_BASE} /conf/log4j2.xml」 /conf/log4j2.xml。 – Achille 2015-10-18 23:04:03