tomcat日誌配置之一自帶log
問題
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欄位的含義請參照 :
中的 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
因為file.encoding預設的字符集跟作業系統有關,中文作業系統下面預設的字符集是GBK,如果日誌傳輸中用UTF-8,則不能正確轉換,所以需要修改file.encoding的值為UTF-8。
部署在tomcat中的檔案要修改file.encoding的值,可以在tomcat的catalina.bat檔案中set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%的後面加上 -Dfile.encoding="UTF-8"
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9399028/viewspace-2050440/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- django開發-log日誌的配置Django
- Log日誌
- Java - 自動配置log4j的日誌檔案路徑Java
- log4j日誌級別以及配置
- PHPstrom 配置 Laravel Log 格式日誌高亮顯示PHPLaravel
- Python 日誌(Log)Python
- log 日誌原理
- Linux C日誌logLinux
- Log 工具列印日誌
- nginx自帶的日誌日期分割Nginx
- 【Mysql】三大日誌 redo log、bin log、undo logMySql
- MySQL重做日誌(redo log)MySql
- Oracle listener log 日誌分析方法Oracle
- 日誌追蹤:log增加traceId
- 日誌配置
- log4j2定期刪除日誌檔案的配置
- c# Log 日誌 以及不列印重複LogC#
- Tomcat訪問日誌淺析Tomcat
- 瘋狂刪除tomcat日誌Tomcat
- Docker 日誌自動輪轉和清理配置Docker
- mysql日誌:redo log、binlog、undo log 區別與作用MySql
- log4net日誌記錄
- kafka-log日誌程式碼解析Kafka
- 在python程式碼 出力log日誌Python
- MySQL 日誌系統 redo log、binlogMySql
- mybatis log sql日誌輸出外掛MyBatisSQL
- linux 日誌log檔案 截斷Linux
- python日誌配置Python
- Nginx日誌配置Nginx
- Django日誌配置Django
- Tomcat關閉日誌catalina.outTomcat
- listener_scan1.log、listener.log監聽日誌清理
- tomcat自帶連線池dbcp配置以及最佳化說明Tomcat
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- 開啟PHP的錯誤log日誌PHP
- mysql之 slow log 慢查詢日誌MySql
- Android的log日誌知識點剖析Android
- MySQL Slow Query log(慢查詢日誌)MySql
- 日誌-log4j2基於AsyncLogger的非同步日誌列印非同步