Tomcat日志设置
【系統環境:CentOS-6.6-x86_64】?
【Tomcat版本:7.0.62】
Tomcat日志概述
Tomcat 日志信息分為兩類:
- 訪問日志信息,記錄訪問的時間,IP,訪問的資料等相關信息。
- 運行中的日志,主要記錄運行的一些信息,尤其是一些異常錯誤日志信息。
?
訪問日志
Tomcat訪問日志的配置在TOMCAT_HOME/conf/server.xml中(注:注釋以下內容即可關閉訪問日志)
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log." suffix=".txt"pattern="%h %l %u %t "%r" %s %b" />參數詳解:
className:官方說明必須按照默認配置不可更改。?
directory:日志文件位置。?
prefix:日志文件前綴。?
suffix:日志文件后綴。?
pattern:日志模式參數,設置參數很豐富,參數說明見下表。?
resolveHosts:如果這個值是true的話,tomcat會將這個服務器IP地址通過DNS轉換為主機名,如果是false,就直接寫服務器IP地址。
pattern 參數:?
%a - 遠端IP地址?
%A - 本地IP地址?
%b - 發送的字節數,不包括HTTP頭,如果為0,使用”-”?
%B - 發送的字節數,不包括HTTP頭?
%h - 遠端主機名(如果resolveHost=false,遠端的IP地址)?
%H - 請求協議?
%l - 從identd返回的遠端邏輯用戶名(總是返回 ‘-‘)?
%m - 請求的方法(GET,POST,等)?
%p - 收到請求的本地端口號?
%q - 查詢字符串(如果存在,以 ‘?’開始)?
%r - 請求的第一行,包含了請求的方法和URI?
%s - 響應的狀態碼?
%S - 用戶的session ID?
%t - 日志和時間,使用通常的Log格式?
%u - 認證以后的遠端用戶(如果存在的話,否則為’-‘)?
%U - 請求的URI路徑?
%v - 本地服務器的名稱?
%D - 處理請求的時間,以毫秒為單位?
%T - 處理請求的時間,以秒為單位
?
運行日志
- 運行日志分為5類:catalina 、localhost 、manager 、admin 、host-manager
- 日志的級別分為7種:SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)?
除此之外,還可以使用OFF關閉相關日志,使用ALL輸出所有級別的日志 - 修改 TOMCAT_HOME/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分割catalina.out日志文件
tomcat日志文件logs/catalina.out默認不會自動rotate,該文件會越來越大,以致打開速度很慢甚至無法打開,因而需要自動分割catalina.out,每天生成一個新的catalina-yyyy-mm-dd.out格式的文件。
解決方法:?
cronolog可以協助Web Server之類的做 log檔的 rotate,詳細的運作原理大致如下:?
Tomcat先把輸出寫到 console(標準輸出) 然后透過 pipe (|) 轉為 cronolog 的輸入,由cronolog針對一個事先給定的文件名的命名規則,去過濾數據,定期關閉舊文件,然后再開啟新檔。如果我們將文件名的命名規則設為catalina.out.%Y-%m-%d,就可以做到每天開一個新的catalina-yyyy-mm-dd.out的檔案了。
Step1:安裝cronolog
- 下載cronolog-1.6.2.tar.gz 至/usr/local/src/ 目錄下?
cd /usr/local/src?
tar zxvf cronolog-1.6.2.tar.gz?(注意權限問題,否則可能出錯)
- 當前目錄下生成一個目錄cronolog-1.6.2?
cd cronolog-1.6.2
yum groupinstall "Development Tools" 安裝環境(此處要有足夠的權限) ./configure make make install- which cronolog查找安裝路徑,默認應該是/usr/local/sbin/cronolog,該路徑待會在修改catalina.sh時用到。
Step2:修改catalina.sh
1)將
org.apache.catalina.startup.Bootstrap "$@" start \>> "$CATALINA_OUT" 2>&1 "&"修改為:
org.apache.catalina.startup.Bootstrap "$@" start \2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &【注:共有兩處要修改】
2)將touch “$CATALINA_OUT” 一行注釋掉 (或直接刪除)?
Step3:重啟tomcat使配置生效
查看logs/目錄以驗證配置生效:
?
參考:
https://www.cnblogs.com/pide/p/11429527.html
總結
以上是生活随笔為你收集整理的Tomcat日志设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GB-T2260-2020 <中华人民共
- 下一篇: 软件测试用例的概述