問題
tomcat每次啓動時,自動在logs目錄下生產以下日誌文件,且每天都會生成對應日期的一個文件,造成日誌文件衆多:
localhost.2012-07-05.txt
catalina.2012-07-05.txt
manager.2012-07-05.txt
host-manager.2012-07-05.txt
目的
Tomcat以上日誌都輸出到同一個文件中。
修改步驟
打開Tomcat目錄conf\logging.properties,修改如下,所有日誌輸出到tomcat開頭的文件中
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 1catalina.org.apache.juli.FileHandler.prefix = catalina.
1catalina.org.apache.juli.FileHandler.prefix = tomcat.
2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 2localhost.org.apache.juli.FileHandler.prefix = localhost.
2localhost.org.apache.juli.FileHandler.prefix = tomcat.
3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 3manager.org.apache.juli.FileHandler.prefix = manager.
3manager.org.apache.juli.FileHandler.prefix = tomcat.
4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
# 4host-manager.org.apache.juli.FileHandler.prefix = host-manager.
4host-manager.org.apache.juli.FileHandler.prefix = tomcat.
Tomcat日誌總結
1 Tomcat 日誌信息分爲兩類 :
一是運行中的日誌,它主要記錄運行的一些信息,尤其是一些異常錯誤日誌信息 。
二是訪問日誌信息,它記錄的訪問的時間,IP ,訪問的資料等相關信息。
2 訪問日誌的配置
2.1 默認 tomcat 不記錄訪問日誌,如下方法可以使 tomcat 記錄訪問日誌
編輯 ${catalina}/conf/server.xml 文件. 注 :${catalina} 是 tomcat 的安裝目錄
把以下的註釋 (<!-- -->) 去掉即可。
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix="localhost_access_log." suffix=".txt"
pattern="common" resolveHosts="false"/>
-->
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