提供系統執行中間行為的分析的資料支援。一般會記錄訪問資訊、系統執行行為,業務操作流程中間資訊。
db主要是結果資訊,日誌是產生結果的中間過程
1.訪問日誌: access.log 系統穩定期&總體分析使用 盡量用gz輸出
2.工程未處理日誌: project.log 目標是越來越少
3.業務日誌: *biz.log 故障排查
4.效能日誌: *perf.log 目前基本可忽略不用,**中介軟體提供的比較多類似功能(hsf,tddl)
盡量壓縮1,強化3;2、4弱化;
一般建議日誌採用規範化形式,主要是在需要採用程式訂正程式時可以採用日誌作為輸入,其規範化方便程式編寫。
個人對日誌的定義如下:
opresult:tag:input:output:desc:exceptionn
opresult:即操作結果,可以是2狀態結果:true、false;也可以是多狀態:1、2、3、4;但是需要明確的是這個日誌是針對業務邏輯的結果,區分日誌本身的資訊級別
tag:唯一標識日誌的標記,建議使用package+class+method,由於package比較長,建議使用通過用概念表示,如screen、action、control、service、biz、dao等分層結構概念
input:系統入參,比如使用者的操作輸入,系統攜帶的引數;需要注意的是輸入盡量不要用key-value,直接使用value介面,因為tag已經表明了具體的方法,input及tag的輸入,所以本身已經語義化。同時由於log的安全性比較低,因此對重要資訊採用hash或者隱藏等方式處理。
output:系統出參,基本和output基本一致,但是要求能不需要輸出到日誌就不輸出;
desc:簡單描述該記錄的內容,建議用規範化的結果,不要隨便描述
exception:異常內容,該資訊主要在分析具體日誌輸出時才使用
如果可以,建議日誌通過工具定期歸類到日誌分析中間平台,不要每台伺服器分析;
簡單的乙個日誌架構圖:
log書寫規範
問題追蹤 在程式除錯時,通過日誌追蹤程式的bug,也可在使用者發現bug後,通過日誌對問題進行分析和定位。狀態監控 通過日誌可檢視系統的執行狀態,做到發現和定位問題。安全審計 通過對日誌進行分析,可發現是否存在非授權的操作。安全類資訊 記錄系統邊界互動行為和資訊。業務類資訊 記錄系統內部業務處理行為...
Log日誌規範
1 日誌等級 trace debug 記錄和追蹤整個程式的執行過程,針對不是非常重要的資訊。info 記錄關鍵的步驟 warn 警告資訊,磁碟已滿等資訊,預期的錯誤 error 普通錯誤,程式還可以執行 fatal 嚴重錯誤,表示程式已經無法執行了。2 列印規範 2.1 trace debug 級別...
Tokyo Tyrant基本規範
tokyotyrant基本規範,翻譯自tokyo 主要內容為tokyotokyotyrant是名為tokyotyrant提供併發和遠端連線到tokyo 因為執行緒池模型實現和現代linux bsd核心的epoll kqueue機制,該伺服器提供高併發支援。伺服器端和它的客戶端通過基於tcp ip的簡...