Java項目日誌記錄方案

來源:互聯網
上載者:User

一、概述


1、採用slf4j作為日誌API,採用logback作為日誌輸出工具,用slf4j橋接方式替換掉log4j和commons-logging。

2、採用trace(追蹤)、debug(調試)、info(資訊)、warn(警告)、error(錯誤)、fatal(致命)共6種記錄層級。

3、採用dev(開發環境)、test(測試環境)、production(生產環境)等不同的日誌配置,根據環境變數自動識別。

4、特殊的記錄,需要大批量寫入記錄檔,應該採用非同步線程寫檔案。


二、記錄層級定義

    採用trace(追蹤)、debug(調試)、info(資訊)、warn(警告)、error(錯誤)、fatal(致命)共6種記錄層級。


記錄層級使用原則:

1、fatal(致命錯誤)使用原則

fatal為系統層級的異常,發生fatal錯誤,代表格服務器整個或者核心功能已經無法工作了。。

1)在伺服器啟動時就應該檢查,如果存在致命錯誤,直接拋異常,讓伺服器不要啟動起來(啟動了也無法正常工作,不如不啟動)。

2)如果在伺服器啟動之後,發生了致命的錯誤,則記錄fatal層級的錯誤記錄檔,最好是同時觸發相關的修複和警示工作(比如,給開發和維護人員發送警示郵件)。


2、error(錯誤)使用原則

error為功能或者邏輯層級的嚴重異常,發生error層級的異常,代表功能或者重要邏輯遇到問題、無法正常工作。


3、warn(警告)使用原則

warn用在某些邏輯非常規,發生了一些小故障但是沒有大的影響,或者重要資料被修改,或者某些操作需要引起重視。


4、info(資訊)使用原則

info用於記錄一些有用的、關鍵的資訊,一般這些資訊出現得不頻繁,只是在初始化的地方或者重要操作的地方才記錄。


5、debug(調試)使用原則

debug用於記錄一些調試資訊,為了方便查看程式的執行過程和相關資料、瞭解程式的動態。


6、trace(跟蹤)使用原則

trace用於記錄一些更詳細的調試資訊,這些資訊無需每次調試時都列印出來,只在需要更詳細的調試資訊時才開啟。


7、項目穩定運行時的日誌量

1)正常情況下,trace日誌至少是debug日誌的100倍,

trace層級的日誌量 : debug層級的日誌量  >  100 : 1,

也就是說trace日誌非常多,debug日誌相對較少。


2)debug層級的日誌量  info層級的日誌量 > 1000 : 1,

也就是說正常情況下,info日誌很少,只在部分重要位置會輸出 info日誌。


3)error日誌和warn日誌,正常情況下,幾乎為0,當出現異常時,error日誌和warn日誌量 也在可控範圍,不會超過debug層級的最大日誌量。


三、日誌輸出(Appender)分類


分為5個一般類: 

    FILE_EXCEPTION (異常日誌,包括ERROR和WARN)

    FILE_APP (應用日誌,包括當前應用package下面的日誌和DEBUG層級以上的其他日誌)

    FILE_INFO (普通訊息日誌)

    FILE_DEBUG (調試日誌)

    FILE_TRACE(追蹤日誌)

    SYSOUT(控制台輸出,可以包括以上所有日誌)

擴充類: 包括非同步輸出的日誌,或者特殊業務日誌。


舉例說明:

假如 

當前應用的 Main Package 為 cn.zollty.lightning

ROOT_LEVEL為 trace,應用日誌 LEVEL 為 debug

有以下日誌列印:

1 2 3 4 5 6 7 8 9 10 11 12 13

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.