日誌處理(一)
阿新 • • 發佈:2020-07-26
日誌處理(一)
目錄
背景描述:
線上一臺伺服器突然無法服務,去伺服器上一看,tomcat見面上瘋狂列印錯誤日誌(windows伺服器)。同事一開始認為是日誌列印太頻繁佔用了系統資源,希望通過關閉日誌輸出來解決問題。(但是後來發現問題並不是列印日誌引發)看到組內的程式碼關於日誌的處理這麼浮誇,而我自己也在日誌的處理問題上吃了不少虧。決定深入的研究一下日誌問題。
1.目標
關於日誌處理,我有以下幾個問題需要弄清楚:
1.1log4j的詳細配置
我們的專案最常用log4j記錄日誌,以前都是抄別人的配置,現在我下定決心要弄清楚所有的配置。
有以下幾點比較重要的配置方式:
- 定期回滾日誌檔案
簡單易用,便於查詢。注意設定大小,監控磁碟空間是否夠用。
- socket
統一採集日誌。(我沒用過,我擔心佔用過多系統資源)
- 自定義appender
根據業務,將日誌記錄到不同的路徑。
1.2tomcat日誌調整
開啟tomcat下的startup.sh
和startup.bat
。裡面都是在呼叫catalina.sh
或catalina.bat
。
開啟catalina.bat
,看到日誌的相關配置:
rem LOGGING_CONFIG (Optional) Override Tomcat's logging config file rem Example (all one line) rem set LOGGING_CONFIG="-Djava.util.logging.config.file=%CATALINA_BASE%\conf\logging.properties" rem rem LOGGING_MANAGER (Optional) Override Tomcat's logging manager rem Example (all one line) rem set LOGGING_MANAGER="-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager" rem rem TITLE (Optional) Specify the title of Tomcat window. The default rem TITLE is Tomcat if it's not specified. rem Example (all one line) rem set TITLE=Tomcat.Cluster#1.Server#1 [%DATE% %TIME%] rem ---------------------------------------------------------------------------
我們就知道了tomcat使用的日誌類和配置檔案的路徑。
然後隨便搜搜你就知道該如何配置了。
我覺得tomcat的日誌就該全關了。
如果服務是部署在linux上,還可以修改catalina.sh
,將日誌路徑指向null。