原文:http://unmi.cc/split-tomcat-catalina-out-file
Linux 下使用 cronolog 工具來切分 catalina.out
這里重點介紹這種方法,具體步驟如下:
1. 下載安裝 cronolog,它的主頁 http://cronolog.org . 下載的是源碼,安裝過程就是 ./configure, make, make install,最后一步可直接把 src/cronolog 執行文件拷入到某個適合的目錄,如 /usr/local/sbin/ 目錄
2. 編輯 bin/catalina.sh 文件
1)找到下面行並把它用 # 注釋掉
touch "$CATALINA_BASE"/logs/catalina.out
在新 Tomcat7 的 bin/catalina.sh 文件要注釋的行是
touch "$CATALINA_OUT"
2)替換下面的行(有兩處,不過一般在 -security 中的那一行不需要去關注,不妨兩處全替換了)
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
為
2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina-%Y-%m-%d.out" &
在 Tomcat7 的 bin/catalina.sh 中是需要替換行是
>> "$CATALINA_OUT" 2>&1 "&"
替換后該行的內容與上面是一樣的。
為什么 Tomcat7 后會有所不同,因為在它的 catalina.sh 文件中有如下定義
CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
3. 保存 catalina.sh 文件,重啟 Tomcat 即可。
以后看到 $TOMCAT_HOME/logs/ 下的就是 catalina-2016-09-16.out, catalina-2016-09-17.out ...... 一系列文件,好像 cronolog 又沒提供方式來控制歸檔的日志文件個數。