java tomcat logger log linux

解決Tomcat Log不斷成長導致檔案過大的問題

許文 Richard Hsu 2019/11/12 16:04:50
3803

一、前言

    Linux默認都將應用日誌打印在catalina.out,隨著時間的推移,逐漸增大,可能達到G數量級。文件過大,我們將無法使用過常規編輯工具查看,嚴重影響系統維護工作,為了實現像其它日誌文件一樣按日期歸檔,這裡介紹採用cronolog來完成日誌分割。

 

 

 

二、環境&工具

n  Linux OS - ubuntu-16.04.6

 

n  Cronolog – 1.6.2+rpk-1ubuntu1

 

 

三、安装Cronolog

1.       更新系統、安裝軟件包

n  運行此命令來更新系統,就可以開始安裝軟件包。

sudo apt-get update


 

2.      Install cronolog

n   執行以下指令安裝cronolog

sudo apt-get install cronolog

 

 

3.      查看是否安装成功

 

which cronolog

 

结果:/usr/bin/cronolog (cronolog安裝路徑)


 

 

 

 

 

四、修改catalina.sh文件

n   修改Tomcatbin / catalina.sh文件


 

n   打開catalina.sh文件

vi catalina.sh

n   修改文件內容:

 

1.     第一步,以tomcat-8.5.42為例 大概在 212~ 214

if [ -z "$CATALINA_OUT" ] ; then

CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out 

fi

改為:

if [ -z "$CATALINA_OUT" ] ; then

  CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out

fi

 


 

2.第二步,註解掉 touch "$CATALINA_OUT" (446)

 

改為 #touch "$CATALINA_OUT"


 

 

3.第三步 (461472)

 


org.apache.catalina.startup.Bootstrap "$@" start /
>> "$CATALINA_OUT" 2>&1 &

 

修改為
org.apache.catalina.startup.Bootstrap "$@" start \

>> /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

 


 

五、重新啟動Tomcat

n   service tomcat restart


可以在Tomcatlogs目錄底下找到以系統日期為結尾的catalina. yyyy-mm-dd.out的檔案,這樣子就成功了。


後續就是持續觀察看看是不是每天都有產生一個新的catalina. yyyy-mm-dd.out檔案。然後再安排定期刪除這些較舊的log檔即可。

 

 


  

 

參考來源: https://www.itread01.com/articles/1476249625.html

許文 Richard Hsu