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 搭配 輸 出 詳 盡的日志信 息 。