windows服務器情況下,無法和linux服務器一樣,啟動web服務之后,直接tail查看日志,而windwos控制臺的輸出空間有限,如果遇到大量錯誤的情況下,console日志刷新太快,無法看到首次錯誤是在哪里出現(xiàn)的,會產生很多不必要的麻煩,所以從網上查找了windows控制臺信息輸出到文件的方法,記錄一下。
catalina.日期.log
1、主要是記錄tomcat啟動時候的信息;
2、啟動的JVM參數(shù)以及操作系統(tǒng)等日志信息;
3、沒有使用log4j等日志機制,系統(tǒng)的的錯誤信息與打印語句也在這個日志文件中記錄;
4、在linux環(huán)境下所有的日志都在catalina.out中。
5、在windows環(huán)境下,這個catalina.out里面的內容就是空的。日志只會體現(xiàn)在控制臺打印
方法一(控制臺窗口只有少量的信息,運行日志儲存于catalina-日志中)
步驟1:打開bin下面的startup.bat文件,
把 call "%EXECUTABLE%" start %CMD_LINE_ARGS%
改為 call "%EXECUTABLE%" run %CMD_LINE_ARGS%
此修改:不會彈出新的cmd窗口,直接在本窗口運行
步驟2:打開bin下面的catalina.bat文件(文件末尾),
在每個%ACTION%后面添加
>> %CATALINA_HOME%\logs\catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out
生成的日志如下
雙擊startup.bat文件,啟動tomcat服務。
結果:
控制臺不會打印運行日志(只有少量的信息),運行日志(包括一些錯誤信息)會存在./log目錄下的日志文件中,只能在文件里面看了。不利于維護人員直接判斷項目是否啟動成功。
方法二(控制臺窗口中沒有內容,運行日志儲存于catalina-日志中)
步驟:打開bin下面的startup.bat文件,
把 call "%EXECUTABLE%" start %CMD_LINE_ARGS%
直接改為 call "%EXECUTABLE%" run %CMD_LINE_ARGS% >>%CATALINA_HOME%\logs\catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out 2>&1
其中將start修改為run是修改tomcat的啟動方式。在>>之后加的是在tomcat安裝目錄下的logs文件夾中生成catalina.年-月-日.out的日志存儲文件。
修改完成后雙擊startup.bat啟動tomcat服務器會發(fā)現(xiàn)命令窗口中沒有內容,這樣就對了。
生成的日志如下
由于配置 run 啟動方式,導致catalina.bat文件的窗口名稱配置已失效
只能去startup.bat文件里面重新配置
結果:
命令窗口中直接什么內容都沒有了,同樣不利于維護人員直接判斷項目是否啟動成功,只能查看日志文件了解是否啟動成功。
方法三(即能控制臺打印,又有日志存儲)
通過以上兩種方法得知,windows下的startup.bat 方式改為 run 以后
控制臺是沒有辦法再輸出內容的,只能去生成的日志文件里面判斷項目的啟動情況,
要么控制臺打印,沒有日志存儲;
要么日志存儲;沒有控制臺打??;
兩者不能同時都有,讓人很無語。
有不有什么辦法去實現(xiàn)呢?最后終于找到了,要通過tee.exe 去實現(xiàn)這個效果
在http://sourceforge.net/projects/unxutils/?source=dlp 下載UnxUtils.zip,
解壓后把UnxUtils\usr\local\wbin下的tee.exe 復制到windows\system32 里面即可
打開bin下面的startup.bat文件,
在末尾加上 chcp 65001 且修改 call “%EXECUTABLE%” start %CMD_LINE_ARGS%
如下:
chcp 65001
call "%EXECUTABLE%" run %CMD_LINE_ARGS% 2>&1 | tee %CATALINA_HOME%\logs\catalina.%Date:~0,0%%Date:~3,4%-%Date:~8,2%-%Date:~11,2%.out
如果執(zhí)行不成功的話,可能是cmd下無法執(zhí)行chcp命令
出現(xiàn)這種報錯(chcp不是內部或外部命令,也不是可運行的程序),就需要去配置環(huán)境變量
在系統(tǒng)變量PATH下添加路徑C:\WINDOWS\system32(最好去復制電腦上面的路徑,直接復制這里,可能有符號轉義)
我這邊環(huán)境為Windows10下的截圖
如果是Windows xp 或者 Windows 7 的話,記得前面加個;(如果原來有了的話,就不要加了)
完整的為
;C:\WINDOWS\system32
該處的配置可能需要重啟電腦才會生效(重啟我自己沒有操作,可能我之前就配置過了這個變量)
最后,我是實現(xiàn)了既可以日志存儲;又可以控制臺打印文章來源:http://www.zghlxwxcb.cn/news/detail-743845.html
相關鏈接
https://blog.csdn.net/weixin_42250959/article/details/103474660
https://www.cnblogs.com/dannylinux/p/10873993.html
https://www.jianshu.com/p/22202f4268af
標題改為中文后標題亂碼問題:
https://blog.csdn.net/lixingecho/article/details/115945423
windwos下保存tomcat日志,同時控制臺輸出
https://blog.csdn.net/itlijinpeng/article/details/129142114文章來源地址http://www.zghlxwxcb.cn/news/detail-743845.html
到了這里,關于windows下tomcat控制臺按天輸出catalina.out日志的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!