淺析Tomcat各種日志的關(guān)系與catalina.out文件的分割問題
Tomcat 各日志之間的關(guān)系
一圖勝千言!

其他日志如 localhost.{yyyy-MM-dd}.log、localhost-access.{yyyy-MM-dd}.log 的 localhost 是context的名稱,往往一個應(yīng)用程序是一個名稱。
分割 catalina.out
按上圖所示,隨著運行時間變久 catalina.out 只會越來越大,但控制臺輸出的日志也有用,比如某些開發(fā)人員喜歡使用e.printStackTrace()、System.out.println()、System.err.println() 都會打印到 catalina.out 中, 這些日志也有用!所以就需要日志分割做備份。
最簡單的方法是使用 Linux 自帶的 logrotate(日志輪轉(zhuǎn))功能分割 catalina.out。
以 catalina.out 路徑為 /opt/tomcat/logs/catalina.out 舉例:
#進入 /etc/logrotate.d,此目錄是 logrotate.d 子系統(tǒng)的配置目錄,不推薦修改主配置文件。
cd /etc/logrotate.d
cat > tomcat<<EOF
/opt/tomcat/logs/catalina.out{
copytruncate
daily
rotate 15
compress
missingok
notifempty
size 200M
dateext
}
EOF
以上配置說明:
- /opt/tomcat/logs/catalina.out #catalina.out存放地址
- copytruncate #拷貝原日志文件,并將其清空
- daily #每日切割
- rotate 15 #最多保留15個文件
- compress #壓縮分割后的文件
- missingok #允許catalina.out文件不存在,待文件出現(xiàn)再開始切割
- notifempty #當日志文件為空時,不進行輪轉(zhuǎn)
- size 200M #當catalina.out文件大于200M時切割
- dateext # 日期擴展,將切割后的日志文件名添加日期
更多配置參數(shù):
compress #通過gzip 壓縮轉(zhuǎn)儲以后的日志 nocompress #不做gzip壓縮處理 copytruncate #用于還在打開中的日志文件,把當前日志備份并截斷;是先拷貝再清空的方式,拷貝和清空之間有一個時間差,可能會丟失部分日志數(shù)據(jù)。 nocopytruncate #備份日志文件不過不截斷 create mode owner group #輪轉(zhuǎn)時指定創(chuàng)建新文件的屬性,如create 0777 nobody nobody nocreate #不建立新的日志文件 delaycompress #和compress 一起使用時,轉(zhuǎn)儲的日志文件到下一次轉(zhuǎn)儲時才壓縮 nodelaycompress #覆蓋 delaycompress 選項,轉(zhuǎn)儲同時壓縮。 missingok #如果日志丟失,不報錯繼續(xù)滾動下一個日志 errors address #專儲時的錯誤信息發(fā)送到指定的Email 地址 ifempty #即使日志文件為空文件也做輪轉(zhuǎn),這個是logrotate的缺省選項。 notifempty #當日志文件為空時,不進行輪轉(zhuǎn) mail address #把轉(zhuǎn)儲的日志文件發(fā)送到指定的E-mail 地址 nomail #轉(zhuǎn)儲時不發(fā)送日志文件 olddir directory #轉(zhuǎn)儲后的日志文件放入指定的目錄,必須和當前日志文件在同一個文件系統(tǒng) noolddir #轉(zhuǎn)儲后的日志文件和當前日志文件放在同一個目錄下 sharedscripts #運行postrotate腳本,作用是在所有日志都輪轉(zhuǎn)后統(tǒng)一執(zhí)行一次腳本。如果沒有配置這個,那么每個日志輪轉(zhuǎn)后都會執(zhí)行一次腳本 prerotate #在logrotate轉(zhuǎn)儲之前需要執(zhí)行的指令,例如修改文件的屬性等動作;必須獨立成行 postrotate #在logrotate轉(zhuǎn)儲之后需要執(zhí)行的指令,例如重新啟動 (kill -HUP) 某個服務(wù)!必須獨立成行 daily #指定轉(zhuǎn)儲周期為每天 weekly #指定轉(zhuǎn)儲周期為每周 monthly #指定轉(zhuǎn)儲周期為每月 rotate count #指定日志文件刪除之前轉(zhuǎn)儲的次數(shù),0 指沒有備份,5 指保留5 個備份 dateext #使用當期日期作為命名格式 dateformat .%s #配合dateext使用,緊跟在下一行出現(xiàn),定義文件切割后的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個參數(shù) size 數(shù)值與單位 #當日志文件到達指定的大小時才轉(zhuǎn)儲,缺少單位是bytes,可指定KB、MB
更多參數(shù)部分參考自文章:https://cloud.tencent.com/developer/article/1681716
到此這篇關(guān)于Tomcat各種日志的關(guān)系與catalina.out文件的分割的文章就介紹到這了,更多相關(guān)Tomcat catalina.out文件的分割內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
讓IIS6支持JSP的設(shè)置方法(IIS完美整合Tomcat)
這方面的教程網(wǎng)上很多,多數(shù)是copy之后又copy,以至于有些細節(jié)一直含糊不清,也導(dǎo)致我走了許多彎路,今天腳本之家小編特為大家整理了一些方法,經(jīng)測試正常運行jsp2014-07-07
詳解tomcat 解決 POST請求傳參數(shù)過長受限制的問題
這篇文章主要介紹了詳解tomcat 解決 POST請求傳參數(shù)過長受限制的問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
eclipse配置Tomcat找不到server選項的解決辦法
這篇文章通過圖文并茂的形式給大家介紹eclipse配置Tomcat找不到server選項的解決辦法,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05
關(guān)于tomcat的server.xml里host節(jié)點配置的一些說明
今天在幫客戶配置iis+tomcat實現(xiàn)jsp運行環(huán)境的時候發(fā)現(xiàn)的這個問題,一直沒研究,今天正好參考了多篇文章發(fā)現(xiàn)并解決了問題,特分享下2014-07-07

