1. 程式人生 > >輸出控制檯資訊到日誌 並 通過cronolog對tomcat進行日誌切分

輸出控制檯資訊到日誌 並 通過cronolog對tomcat進行日誌切分

windows下tomcat預設並不會把控制檯輸出的資訊都記錄進日誌檔案。但是在生產環境中,出現問題時,控制檯的日誌輸出是無法查據的,因此需要將日誌記錄下來。

解決方法:

輸出日誌到檔案

修改tomcat的bin目錄下的startup.bat檔案,執行此項修改後日誌會輸出到檔案中,在控制檯中不會再輸出

call "%EXECUTABLE%" start %CMD_LINE_ARGS%
換成
call "%EXECUTABLE%" run %CMD_LINE_ARGS%

其中,執行start會重新開啟新的cmd視窗執行catalina.bat,並且在新的視窗中列印日誌資訊,即我們看到的console,修改strat為run,即不彈出新的cmd視窗,直接在本視窗執行。

指定輸出日誌的檔案,在bin目錄下的catalina.bat中,在四個%ACTION%後面加上

|%CATALINA_HOME%\logs\catalina.%%Y-%%m-%%d.out

這樣,在tomcat啟動時,會在logs資料夾下生成  catalina.%%Y-%%m-%%d.out(如catalina.2018-11-11.out)作為日誌檔案。

按照日期切割日誌檔案

按照上面步驟生成的日誌檔案有一個問題,就是日誌檔案只會生成一次,即tomcat啟動時,如果tomcat啟動後一直執行的話,該檔案會一直追加,只有tomcat重啟才會重新生成。檔案太大和沒有切分,對後期維護的閱讀和查詢造成不便。

引入cronolog.exe解決該問題:

把cronolog.exe放在tomcat的bin目錄下,同時修改bin目錄下的catalina.bat檔案,在四個%ACTION%後面把之前追加的修改為

|%CATALINA_HOME%\bin\cronolog.exe %CATALINA_HOME%\logs\catalina.%%Y-%%m-%%d.out

這樣日誌檔案就會按照日期進行自動生成了。