1.什麼時候應該列印日誌
a.需要定位問題,使用日誌替代debug
b.遇到if else或者switch分支,首行列印,確定進入哪個分支
c.核心功能,需要通過日誌看到整個流程
2.基本格式,引數化資訊的方式
logger.debug("processing trade with id:[{}] and symbol : [{}] ", id, symbol);
3.如需列印debug日誌,需要判斷日誌級別
if (logger.isdebugenabled())
4.各種日誌級別的使用
error:影響到程式正常執行,當前程式正常執行的異常情況
a. 開啟配置檔案失敗
b. 所有第三方對接的異常(包括第三方返回錯誤碼)
c. 所有影響功能使用的異常,包o括:sqlexception和除了業務異常之外的所有異常
warn:不應該出現但是不影響程式、當前請求正常執行的異常情況
a. 有容錯機制的時候出現的錯誤情況
b. 找不到配置檔案,但是系統能自動建立配置檔案
info:系統執行資訊
a. service方法中對於系統/業務狀態的變更
b. 主要邏輯中的分步驟
外部介面部分
a. 客戶端請求引數(rest/ws)
b. 呼叫第三方時的呼叫引數和呼叫結果
debug:詳細的系統執行資訊
a. 可以填寫所有的想知道的相關資訊
b. 生產環境需要關閉debug資訊
trace
特別詳細的系統執行完成資訊,業務**中,不要使用.(除非有特殊用意,否則請使用debug級別替代)
日誌技巧(grep,sed,sort,awk)
線上環境 日誌檔案隨系統執行是一直追加的
追蹤日誌可是使用tail
tail -f -n100 search-service.log
日誌查詢
關鍵內容查詢 除more less命令外
還可以使用grep進行查詢
grep 『uuid』 search-service.log*
可結合管道命令
grep 『uuid』 search-service.log* | grep 『接收引數』 | grep 『oaas-es』
grep -e 「error|warn」 nohup.out
-e或–extended-regexp 將範本樣式為延伸的普通表示法來使用
日誌檔案按照內容從後往前看
tac nohup.out | more
grep的a(after,後)選項和b(before,前)選項可以同時輸出其匹配行的前後幾行
grep -b1 -a2 「loadrediscache」 nohup.out
統計行數
cat logs* | grep 『請求引數』 | wc -l
cat logs* | grep -c 『請求引數』
最後修改於 2023年5月3日 20:45:36
日誌規範與自動刪除
日誌規範 1.1.目的 在正式環境執行時,程式出現問題是能夠提供足夠的資訊來幫助開發人員找到問題。1.2.要求 為了達到這樣的目的,要求要準確的在問題發生時暴露問題原因,執行內容上下文 報 錯的位置,層級 執行的引數。通過這些列印的日誌能夠反向發現問題出現的地方和原因。那麼就有如下要求 列印日誌級別...
Linux查詢日誌常用技巧
1.linux下最強大的搜尋命令為 find 它的格式為 find 指定目錄 指定條件 指定動作 比如使用find命令搜尋在根目錄下的所有inte ces檔案所在位置,命令格式為 find name inte ces 2.tail f catalina.out檢視實時日誌 3.vi 日誌名 進入編輯...
日誌記錄規範
乙個專案各個log級別的定義應該是清楚明確的,是每個開發人員所遵循的 即使是trace或者debug級別的日誌,也應該有一定的規範,要保證除了開發人員自己以外,包括測試人員和運維人員都可以方便地通過日誌定位問題 對於日誌級別的分類,有以下參考 fatal 表示需要立即被處理的系統級錯誤。當該錯誤發生...