最近有兩個現場專案問題定位排查都跟加日誌有關。這也是現在乙個比較嚴重的問題之一,很多時候現場有問題找研發都是要臨時增加日誌然後發現場替換檔案定位問題。還有些研發日誌列印很隨便,遇到問題日誌很多但關鍵想用的沒多少,為此我覺得很有必要規範日誌列印問題。
尤其是開發也要注意自己日誌是否列印規範,做好列印日誌這件小事是編碼人員的基本素養之一。為此開發人員應該做到以下幾點,
保證異常捕獲日誌列印正確,禁止出現捕獲異常不做任何處理的行為,不能直接將異常列印到控制台。
使用日誌門面slf4j的介面api,而不是使用具體的日誌實現框架api。使用佔位符列印日誌而非用字串拼接的方式。
使用正確的日誌級別列印日誌,只對嚴重的程式邏輯異常問題使用error,在程式執行的關鍵節點輸出info日誌,在介面函式呼叫處可列印debug日誌。不在生產環境上使用debug日誌,更不要在debug日誌中輸出大物件檔案,比如檔案等。
可以在介面呼叫或給第三方提供的介面中增加額外的日誌檔案,方便對接問題的排查。可以統一採用aop模式來列印輸出函式介面呼叫日誌。
對於線上已存在的頻繁列印的無用的除錯日誌,可以將相應類的日誌輸出級別調高。避免輸出太多無用日誌占用儲存空間。
學習並踐行公司內日誌處理規範,可以學習阿里開發規約中異常日誌規範部分。
作為開發團隊負責人,要注意重視推廣並落實日誌規劃,在開發**review時也要關注日誌列印是否合規,是否在關鍵地方列印日誌等。
日誌列印規範
第一步 在過濾器中把使用者資訊放到mdc中,component webfilter filtername testfilter urlpatterns public class testfilter implements filter override public void dofilter se...
日誌列印規範
作為一名剛畢業的學生,初次到公司工作,接觸了幾個專案之後發現了日誌的重要性。為什麼覺得日誌重要?首先,列印日誌方便排查問題,有時候看日誌就能分析出功能的缺陷在 方便定位和解決。在接觸的乙個對接第三方的專案中,有一次排查乙個線上bug時,因為老專案的不規範並且沒有日誌,造成了定位問題困難的問題.這樣讓...
日誌列印規範
日誌變數往往不變,最好定義成private final static,變數名用大寫。日誌分級 使用門面模式slf4j,slf4j無需級別判斷,直接列印即可 不打無用的日誌,一般不在迴圈內列印日誌 列印error log的方法 logger.error e.getmessage,e 這樣列印出異常的所...