Tomcat日志文件catalina.out的分割


catalina.out其實是tomcat的標准輸出(stdout)和標准出錯(stderr),這是在tomcat的啟動腳本里指定的,如果沒有修改的話stdout和stderr會重定向到這里。所以我們在應用里使用System.out打印的東西都會到這里來。另外,如果我們在應用里使用其他的日志框架,配置了向Console輸出的,則也會在這里出現。

如果Tomcat的catalina.out的大小超過了2G,那么tomcat可能在沒有錯誤提示的情況下崩潰、無法啟動。所以為了避免出現這個問題,我們應該每天分割catalina.out。

在此我使用的是logrotate工具切割catalina.out文件

1、首先在/etc/logrotate.d/目錄創建一個tomcat文檔,內容如下:

/data/apache-tomcat-9.0.13/logs/catalina.out
{
    copytruncate
    daily   
    rotate 10
    compress   
    missingok   
    size 16M  
}

配置說明:

  /data/apache-tomcat-9.0.13/logs/catalina.out    #服務器中catalina.out存放地址

  copytruncate    #拷貝原日志文件,並將其大小變為0

  daily    #每天切割

  rotate 10    #保留最多10個文件

  compress   #壓縮分割后的文件

  missingok   #文件丟失了,繼續切割而不報錯

  size 16M     #當catalina.out文件大於16M時,就切割

2、自動切割

  1. 每天晚上,cron daemon會自動執行/etc/cron.daily目錄下的任務
  2. 這個會觸發/etc/cron.daily/logrotate文件,logrotate一般是隨linux安裝的。它會執行這個命令-“/etc/sbin/logrotate /etc/logrotate.conf”(注意空格)
  3. /etc/logrotate.conf 包含了/etc/logrotate.d目錄下的所有腳本
  4. 這個會觸發上一步寫的/etc/logrotate.d/tomcat文件

3、手動切割

  執行以下語句來手動運行cron任務 

/usr/sbin/logrotate /etc/logrotate.conf

logrotate -vf /etc/logrotate.d/tomcat 

以上是生產環境使用的tomcat日志文件catalina.out切割操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM