Linux下Tomcat中catalina.out文件切割

       最近由於系統在生產環境中出現了一個bug,自己在開發環境中復現不出來,所以需要查日誌,於是就logs下找日誌了。使用命令 vim catalina.out命令查看,但是怎麼也打不開,然後我看了看文件的屬性,我去,嚇壞我了, 8個多G,怎麼這麼大,後來想想確實有可能,我們在服務器上部署了三個系統,每天的日誌輸出量是很可觀的一個數字。所以在這個文件中找錯誤,就如同大海撈針一個,而且文件大了以後,文本編輯器還打不開,還需要對文件進行切割。所以我們就想定期把這個文件名字,改一下,他不就可以了嗎!但是時間長了,發現總是忘。哎,沒辦法,只能問百度了。

       百度後發現其實有很多的辦法可以解決這個問題,比如在linux中設置定時任務,每天定時改一個這個文件的名字。用cronologcatalia.out文件進行切割。每天輸出一個文件。今天筆者就爲您說一下如何配置tomcat,讓服務器每天輸出一個文件catalina.2016-01-13.outcatalina.2016-01-14.out

        cronolog是一個簡單的過濾程序從標準輸入讀取日誌文件條目,每個條目寫入到輸出文件指定一個文件名模板和當前的日期和時間。當擴大的文件名更改,關閉當前文件,並打開一個新的。 cronolog的目的是要在配合使用的Web服務器( 如 Apache) ,分成每天或每月的日誌,訪問日誌。Linux下運行的Web服務器Apache,默認日誌文件是不分割的,一個整文件既不易於管理,也不易於分析統計。安裝cronolog後,可以將日誌文件按時間分割,易於管理和分析。

       首先我們要安裝一個工具cronolog,大家可以到http://down.51cto.com/data/241863 下載。安裝

       # tar zxvf cronolog-1.6.2.tar.gz

       # ./configure

       # make

       # make install

      搞定! 
      默認是安裝在/usr/local/sbin/下,如下圖所示。

       

       安裝完以後,我們需要修改/tomcat/bin/catalina.sh 文件將

修改爲如下圖所示

              

            

        可以看到修改了三個地方,第一將touch"$CATALINA_OUT" 註釋掉,然後org.apache.catalina.startup.Bootstrap"$@"start \ >>"$CATALINA_OUT" 2>&1 "&"  修改爲org.apache.catalina.startup.Bootstrap"$@"start 2>&1 \   |/usr/local/sbin/cronolog"$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out>> /dev/null2>&1 & 。這樣就完成了操作,然後我們重新啓動tomcat,就會發現 catalina.out的文件命名會加上一個當前日期。這樣我們tomcat服務器每天產生的日誌文件名字都是不一樣的!

     

          這樣就OK了,以後就不用爲這個文件過大而擔心了!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章