tomcat日誌改用log4j

2021-08-24 21:56:55 字數 1590 閱讀 5527

昨天同事那邊出了點故障, 一台tomcat伺服器訪問出錯,tomcat是6.0版本的, 然後想檢視tomcat日誌卻怎麼也找不到最近的日誌,logs下面 只有08年的幾個日誌檔案。同事感覺很暈, 我也覺著奇怪, 照理說, tomcat預設情況下也是會生成日誌檔案的, 這回怎麼就平白無故的消失了呢?

到網上找了下相關的資訊, 網上大部分都是說的如何讓tomcat使用log4j。我想tomcat預設用的是jdklogger,如果能換用log4j也不錯, 只要日誌能生成出檔案來。

於是在我的本機環境的tomcat5.5和tomcat6下分別作了實驗。

結果,發現tomcat5.5和6在配置log4j的時候還存在差異。

1)tomcat5.5

把commons-logging和log4j的jar包分別copy到common/lib下面, 再copy乙份log4j.properties和commons-logging.properties到common/classes之下, 

log4j.properties,配置可以如下:寫道

log4j.rootlogger=info,stdout,file

## direct log messages to stdout ###

## direct messages to file systemout.log ###

## block packages that you don't care about ###

log4j.logger.org.apache.commons.digester=error

log4j.logger.org.apache.commons.beanutils=error

log4j.logger.org.apache.commons.modeler=error

commons-logging.properties,配置可以如下:

寫道org.apache.commons.logging.log=org.apache.commons.logging.impl.log4jlogger

#please refer to the log implementations in package org.apache.commons.logging.impl#

#org.apache.commons.logging.log=org.apache.commons.logging.impl.jdk14logger

#org.apache.commons.logging.log=org.apache.commons.logging.impl.******log

重啟tomcat之後,就能在logs/下面找到日誌檔案了。

2)tomcat6

同樣的, 也要複製commons-logging和log4j的jar包到tomcat, 不過目標目錄不同,位於:$/lib/;

commons-logging.properties和log4j.properties需要複製到$/lib/目錄下;

額外的,還需要到

tomcat-juli.jar複製到bin下面,替換原有的同名jar包;tomcat-juli-adapters.jar 放到$/lib/

完成以上步驟之後, 重啟tomcat,就能發現已經有了log4j的日誌檔案產生。

log4j託管tomcat日誌

由於專案中 tomcat 日誌越來越大,對於日誌查詢非常不方便,所以經過一番調查可以通過log4j來託管 tomcat 日誌的方式,實現tomcat日誌切片。這裡只說明怎麼是log4j託管tomcat日誌,至於怎麼切分就不做說明,可以log4j.properties檔案的配置來實現。log4j 1....

log4j日誌系統 Log4j

1.1 log4j的三大核心元件 1.2 loggers 記錄器 1.4 layouts 布局 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活地指定布局模式 org.apache.log4j.lay...

log4j記錄不同的日誌 Log4j 日誌記錄方法

logger類具有處理日誌記錄活動的方法。我們可以使用兩個靜態方法建立logger類的例項 public static logger getrootlogger public static logger getlogger string name 第乙個方法返回沒有名稱的根日誌記錄器。第二個方法按名...