本文摘自:(http://blog.csdn.net/stevencn76/article/details/6246162)
由於Tomcat在默認情況下會將沒有經過配置的web應用所產生的日志輸出已經其本身的日志內容都輸出到這個文件中,那么隨着時間的推移,這個文件的尺寸將會越來越大,當需要檢查日志內容時間會導致文件難以打開,而且同時tomcat依舊在不斷的向文件中輸入內容,這也會降低tomcat的性能。下面利用一個工具來將tomcat產生的catalina.out文件根據日期來分割,將每天產生的日志存放在一個獨立的文件中,這樣單個log文件就不會太大,而且過期的日志文件可以根據情況在不需要的時間刪除掉,或者備份到其他地方。
這里需要一個工具叫cronolog,這個工具的作用是將標准輸出中的內容重定向到文件,但是可以根據規則對文件命名,這樣我們就可以將標准輸出中的內容重定向到根據日期命名的log文件中了,然后只要將tomcat的日志輸出指向標准輸出就可以搞定問題了。下面是具體配置步驟
一、獲取與安裝cronolog工具
1. 到這里(http://cronolog.org/download/index.html)下載最新版本,本文編寫時的最新版本是1.6.2版本。
2. 將下載好的文件解壓縮,tar xvzf cronolog.tar.gz
3. 切換到解壓縮之后的cronolog目錄中
4. 初始化和編譯安裝
./configure --prefix=/usr/local/cronolog (這里--prefix后面的路徑是你希望該工具的安裝目標路徑)
./make
./make install
二、修改tomcat的啟動文件(tomcat/bin/catalina.sh)
1. 找到文件中的如下內容(注意:有兩處)
org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_BASE"/logs/catalina.out 2&1 &
將其修改成如下格式:
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 /
| /usr/local/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
2. 注釋如下內容
#touch "CATALINA_BASE"/logs/catalina.out
然后重新啟動tomcat就可以完成任務了