tomcat輸出日誌到檔案和控制台

2021-07-27 06:16:28 字數 1989 閱讀 6515

在windows下tomcat的啟動指令碼預設不像unix下的指令碼那樣輸出應用日誌到logs/catalina.out,只在console中輸出,如果日誌刷的太快根本沒法找到錯誤資訊。

為了把日誌輸出到檔案,需要修改以下指令碼。 1

)修改startup.bat,把指令碼的倒數第二行:call "%executable%" start %cmd_line_args%

改為:call "%executable%" run %cmd_line_args%

2)修改catalina.bat最後的一部分**:

紅色劃線的部分是需要增加的**:

>> �talina_home%\logs\catalina.�te:~0,10%.out

其中的catalina.�te:~0,10%.out是為了分日期存放日誌檔案。在cmd下echo �te%看看, 如:

2011-04-19

星期二

發現從第乙個字元開始,長度為10的子串正是2011-04-19。

這樣在開發過程中每次雙擊startup.bat啟動tomcat,指令碼都會把應用日誌儲存到日期對應命名的日誌檔案中了。可是又帶來乙個新的問題, �talina_home%\logs\catalina.�te:~0,10%.out 把輸出都重定向到了檔案中,console中就無法實時顯示日誌內容了,如何做到既把日誌儲存到磁碟檔案中,又能在螢幕上實時監控日誌呢?

想到unix下有tail -f ,於是試著度娘了一下「dos tail」,還真找到了乙個在dos下的tail命令,只是要先安裝乙個windows元件windows server 2003 resource kit tools。

如安裝目錄為「d:\program files\windows resource kits\tools」,把這個路徑加入到path環境變數。

在cmd下tail /? ,出現以下資訊則說明安裝成功了:

在tomcat主目錄的bin下新建乙個bat指令碼taillog.bat,內容為:

if not exist "�talina_home%\logs\catalina.�te:~0,10%.out" echo "" > �talina_home%\logs\catalina.�te:~0,10%.out

tail -f �talina_home%\logs\catalina.�te:~0,4%-�te:~5,2%-�te:~8,2%.out

最後在catalina.bat中呼叫這個指令碼:

這樣就會彈出乙個新的窗體,將"�talina_home%\logs\catalina.�te:~0,10%.out"中的日誌顯示出來,如下圖:

SpringBoot輸出日誌到檔案

2.2 logging.file.path 2.3 注意 3 使用xml擴充套件 4 logging裡的預設值 5 效果 指定日誌檔案的位置。使用相對路徑,就會在專案根目錄下生成乙個lab.log檔案 logging file name lab.log 在專案根目錄下生成乙個logs資料夾,logs...

SpringBoot輸出日誌到檔案

指定日誌檔案的位置。使用相對路徑,就會在專案根目錄下生成乙個lab.log檔案 logging file name lab.log 在專案根目錄下生成乙個logs資料夾,logs資料夾裡面生成乙個lab.log檔案。logging file name logs lab.log 使用絕對路徑,這樣寫會...

日誌 php PHP 輸出日誌到檔案 DEMO

首先需要確保輸出檔案有許可權寫入,一般設定許可權為 chown r nginx.nginx 輸出的檔案路徑如果以上方法還是無效,可以直接將檔案設定有777,但是這種方式只能用於測試環境 chmod r 777 輸出的檔案路徑然後將日誌寫入檔案,採用追加內容的方式,即不會覆蓋之前的日誌 file no...