windows設置tomcat控制台日志保存到文件


一、windows設置tomcat控制台日志保存到文件(控制台將不在輸出日志)

在Linux系統中,Tomcat 啟動后默認將很多信息都寫入到 catalina.out 文件中,我們可以通過tail  -f  catalina.out 來跟蹤Tomcat 和相關應用運行的情況。 在windows下,我們使用startup.bat啟動Tomcat以后,會發現catalina日志與Linux記錄的內容有很大區別,大多信息只輸出到屏幕而沒有記錄到catalina.out里面。 本文的內容就是要實現在windows下,將相關的控制台輸出記錄到后台的catalina.out文件中以便將來查看。

把控制台的信息輸出到%CATALINA_BASE%\logs\catalina.out里:

1、打開bin下面的 startup.bat文件,把最下面一行的call "%EXECUTABLE%" start %CMD_LINE_ARGS%

     改為 call "%EXECUTABLE%" run %CMD_LINE_ARGS%

注:上面這樣設置之后,運行tomcat后,日志就不會實時顯示到tomcat運行窗口了。
 
2、打開bin下面的 catalina.bat文件,會發現文件里共有4處  %ACTION% ,在后面分別加上
     >> %CATALINA_HOME%\logs\catalina.out 
 
注:windows中反斜杠和 linux是反的
重啟tomcat,就會發現在logs文件夾下出現了catalina.out文件,把原來控制台的信息全寫進去了。
但輸出的這個catalina.out文件,是一直增長的,也就是文件會越來越大。
 
   提示:按照上面的修改,tomcat所有的日志都會寫入到logs/catalina.out文件內,如果想要按天來生成日志文件,
可以在 %ACTION% 后添加  >> %CATALINA_HOME%/logs/catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out(linux系統)
              >> %CATALINA_HOME%\logs\catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out(windows系統)
生成的格式為 catalina.yyyy-mm-dd.out(yyyy代表4位年份,mm代表為2位月份,dd代表兩位日期)
這種配置方式不會自動每天生成新的catalina.xxxx-xx-xx.out文件,要重新啟動tomcat會才回生成,坑啊
 
如果要自動實現按天生成 catalina.xxxx-xx-xx.out文件,需要下載日志分割工具cronolog-1.6.1-win32.zip。
網盤下載鏈接:

鏈接:https://pan.baidu.com/s/1MJQ7IFdYFcmn4eH1qJ2EQg
提取碼:aag8

然后解壓之后將cronolog.exe復制到tomcat的bin目錄下,將catalina.bat之前 %ACTION% 后的內容修改為:|%CATALINA_HOME%\bin\cronolog.exe %CATALINA_HOME%\logs\catalina.%%Y-%%m-%%d.out

 

二、啟動tomcat中文亂碼解決辦法

  將目錄切換到tomcat的conf目錄下:

找到logging.properties文件,打開找到如下配置項:

java.util.logging.ConsoleHandler.encoding = UTF-8

將 UTF-8 修改為 GBK,修改后的效果為:

java.util.logging.ConsoleHandler.encoding = GBK

保存后,重啟tomcat!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM