日誌規範與常用日誌技巧

2021-10-05 18:12:23 字數 1506 閱讀 6799

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 表示需要立即被處理的系統級錯誤。當該錯誤發生...