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.%DATE%.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
這樣日志文件就會按照日期進行自動生成了。
?