文章詳情頁
淺析Tomcat各種日志的關系與catalina.out文件的分割問題
瀏覽:37日期:2023-03-19 16:51:44
Tomcat 各日志之間的關系
一圖勝千言!
其他日志如 localhost.{yyyy-MM-dd}.log
、localhost-access.{yyyy-MM-dd}.log
的 localhost
是context的名稱,往往一個應用程序是一個名稱。
分割 catalina.out
按上圖所示,隨著運行時間變久 catalina.out 只會越來越大,但控制臺輸出的日志也有用,比如某些開發人員喜歡使用e.printStackTrace()
、System.out.println()
、System.err.println()
都會打印到 catalina.out 中, 這些日志也有用!所以就需要日志分割做備份。
最簡單的方法是使用 Linux 自帶的 logrotate(日志輪轉)功能分割 catalina.out。
以 catalina.out 路徑為 /opt/tomcat/logs/catalina.out
舉例:
#進入 /etc/logrotate.d,此目錄是 logrotate.d 子系統的配置目錄,不推薦修改主配置文件。cd /etc/logrotate.dcat > tomcat<<EOF/opt/tomcat/logs/catalina.out{copytruncate dailyrotate 15compressmissingoknotifemptysize 200Mdateext}EOF
以上配置說明:
- /opt/tomcat/logs/catalina.out #catalina.out存放地址
- copytruncate #拷貝原日志文件,并將其清空
- daily #每日切割
- rotate 15 #最多保留15個文件
- compress #壓縮分割后的文件
- missingok #允許catalina.out文件不存在,待文件出現再開始切割
- notifempty #當日志文件為空時,不進行輪轉
- size 200M #當catalina.out文件大于200M時切割
- dateext # 日期擴展,將切割后的日志文件名添加日期
更多配置參數:
compress #通過gzip 壓縮轉儲以后的日志nocompress #不做gzip壓縮處理copytruncate #用于還在打開中的日志文件,把當前日志備份并截斷;是先拷貝再清空的方式,拷貝和清空之間有一個時間差,可能會丟失部分日志數據。nocopytruncate #備份日志文件不過不截斷create mode owner group #輪轉時指定創建新文件的屬性,如create 0777 nobody nobodynocreate #不建立新的日志文件delaycompress #和compress 一起使用時,轉儲的日志文件到下一次轉儲時才壓縮nodelaycompress #覆蓋 delaycompress 選項,轉儲同時壓縮。missingok #如果日志丟失,不報錯繼續滾動下一個日志errors address #專儲時的錯誤信息發送到指定的Email 地址ifempty #即使日志文件為空文件也做輪轉,這個是logrotate的缺省選項。notifempty #當日志文件為空時,不進行輪轉mail address #把轉儲的日志文件發送到指定的E-mail 地址nomail #轉儲時不發送日志文件olddir directory #轉儲后的日志文件放入指定的目錄,必須和當前日志文件在同一個文件系統noolddir #轉儲后的日志文件和當前日志文件放在同一個目錄下sharedscripts #運行postrotate腳本,作用是在所有日志都輪轉后統一執行一次腳本。如果沒有配置這個,那么每個日志輪轉后都會執行一次腳本prerotate #在logrotate轉儲之前需要執行的指令,例如修改文件的屬性等動作;必須獨立成行postrotate #在logrotate轉儲之后需要執行的指令,例如重新啟動 (kill -HUP) 某個服務!必須獨立成行daily #指定轉儲周期為每天weekly #指定轉儲周期為每周monthly #指定轉儲周期為每月rotate count #指定日志文件刪除之前轉儲的次數,0 指沒有備份,5 指保留5 個備份dateext #使用當期日期作為命名格式dateformat .%s #配合dateext使用,緊跟在下一行出現,定義文件切割后的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個參數size 數值與單位 #當日志文件到達指定的大小時才轉儲,缺少單位是bytes,可指定KB、MB
更多參數部分參考自文章:https://cloud.tencent.com/developer/article/1681716
到此這篇關于Tomcat各種日志的關系與catalina.out文件的分割的文章就介紹到這了,更多相關Tomcat catalina.out文件的分割內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!
標簽:
Tomcat
相關文章:
1. Tomcat starup.bat腳本開機自啟動的實現2. 解決Tomcat啟動失敗:嚴重 [main] org.apache.catalina.util.LifecycleBase.handleSubClassException 初始化組件失敗3. 解決tomcat 靜態頁面(html)中文亂碼的解決終極篇4. 解讀Tomcat啟動、重啟、暫停操作(window)5. tomcat啟動異常:子容器啟動失敗(a child container failed during start)6. 安裝為 window 服務的tomcat修改jvm內存的兩種方法7. Tomcat啟動成功但無法訪問http://localhost:8080/的解決方法8. tomcat下部署jenkins的實現方法9. 詳解Tomcat雙擊startup.bat閃退的解決方法10. 如何將tomcat源碼以maven方式運行
排行榜