天天看點

tomcat日志設定

Tomcat 日志資訊分 為 兩 類 :

一是運作中的日志,它主要 記錄 運作的一些資訊,尤其是一些異常 錯誤 日志資訊 。

二是 通路 日志資訊,它 記錄 的 通路 的 時間 , IP , 通路 的 資 料等相 關 資訊。

2    Tomcat 日志配置

2.1  通路日志的配置

預設 tomcat 不記錄通路日志,如下方法可以使 tomcat 記錄通路日志

編輯 ${catalina}/conf/server.xml 檔案 . 注 :${catalina} 是 tomcat 的安裝目錄

把以下的注釋 (<!-- -->) 去掉, 然後将pattern的值改為combined,這個模式下記錄的日志比較詳細。

<!--

        <Valve className="org.apache.catalina.valves.AccessLogValve"

         directory="logs"  prefix="localhost_access_log." suffix=".txt"

         pattern="common" resolveHosts="false"/>

  -->

另一種方法:

修改為:

<Valve className="org.apache.catalina.valves.FastCommonAccessLogValve"

directory="logs" prefix="localhost_access_log." suffix=".txt"

pattern="combined" resolveHosts="false" fileDateFormat="yyyy-MM-dd.HH"/>

pattern="combined"記錄的日志内容更詳細,fileDateFormat="yyyy-MM-dd.HH",會讓日志檔案按小時進行滾卷,

比預設的按天滾卷要好些,尤其是通路量大的網站,可以考慮寫成fileDateFormat="yyyy-MM-dd.HH.mm",就會是每分鐘一個日志檔案了。

而且可以分别按Engine, Host, or Context,來記錄自己的日志

2.2  配置 tomcat 寫出更詳細的日志

通過對 2.1 示例中 pattern 項的修改,可以改變日志輸出的内容。

該項值可以為: common 與 combined ,這兩個 預 先 設 置好的 格式對應的日志輸出内容如下:

common 的值: %h %l %u %t %r %s %b

combined 的值: %h %l %u %t %r %s %b %{Referer}i %{User-Agent}i

pattern 也可以根據需要自由 組 合 , 例如 pattern="%h %l"

對 于各 fields 字段的含 義請 參照 :

http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html 中的 Access Log Valve 項

3    修改 Tomcat 運作日志的等級

3.1  日志類型與級别

Tomcat 日志分為下面5類:

catalina 、 localhost 、 manager 、 admin 、 host-manager

每類日志的級别分為如下 7 種:

SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

3.2  日志級别的設定方法

修改 conf/logging.properties 中的内容,設定某類日志的級别

示例:

設定 catalina 日志的級别為: FINE

1catalina.org.apache.juli.FileHandler.level = FINE

禁用 catalina 日志的輸出:

1catalina.org.apache.juli.FileHandler.level = OFF

輸出 catalina 所有的日志消息均輸出:

1catalina.org.apache.juli.FileHandler.level = ALL

4    使用 log4j 記錄應用程式日志或 系 統 日志

4.1  使用 Log4j 輸 出 詳細 系 統 日志資訊,快速 診 斷啟 動 故障

此例可彌 補 tomcat 啟 動 異常 時輸 出的 錯誤 資訊不足的 問題 ,使用 commons-logging 和 log4j 搭配 輸 出 詳 盡的日志信 息 。