輸出控制檯資訊到日誌 並 通過cronolog對tomcat進行日誌切分
阿新 • • 發佈:2018-11-06
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
這樣日誌檔案就會按照日期進行自動生成了。