日誌框架搭建之我見

2021-08-07 13:40:52 字數 918 閱讀 7565

好的軟體、好的系統必然離不開好的日誌框架,記錄日誌的意義是十分重要的,但我們有時候卻很迷茫:日誌到底該記錄些什麼,就我現如今的經驗來看,具體總結如下:

1. 異常

這是日誌最為基本的功能了。

2. 輸入引數

記錄輸入引數,不僅有利於尋找異常產生原因,而且也有助於資料分析

3. 輸出引數

有助於開發人員進行連調測試,

4. 關鍵業務執行狀態

一些重要業務有時候我們必須要記錄下它的操作過程(包括流程)或者中間資料,同樣是幫助查詢異常產生原因的

5. 定時任務執行狀態

定時任務,因為是自動執行的,為了了解任務執行的執**況和結果,我們經常會記錄任務的開始時間、任務關鍵業務、結束時間、任務執行耗時時間、執行結果等。

6. 系統啟動情況

在系統啟動時,我們為了了解系統啟動是否正常(包括靜態資料載入、框架載入、與其他系統連線等),也會記錄系統啟動的情況

7. 系統關閉情況

這個相對於系統啟動的重要性就要小很多,主要是觀察系統資源**情況。

1. 控制台

這個是最常用的了。

2. 檔案

這個也比較常用,檔案記錄時可以根據業務和異常的性質、等級來劃分記錄。

3. 資料庫

這個用的並不多,而真正記錄在資料庫的則是重要業務的日誌,與傳統的異常日誌的意義和概念並不同,傳統的異常日誌以資料庫方式記錄並不多見,我也沒這麼用過。

以log4j為例,分為4級(由低到高):

1. debug

2. info

3. warn

4. error

這只是自帶的4個等級,其實我們可以完全自定義等級。

日誌的記錄格式,一定要本著清晰、明確的目的。明確時間、方法、地點(**行數)、內容等,日誌的記錄格式一定要重視,否則瀏覽起來會非常困難難理解,甚至喪失日誌的作用。

輸入子系統框架之我見

輸入子系統是linux驅動中很重要的一部分,按鍵 觸控螢幕 滑鼠等等的驅動都可以通過這個框架來構建,下面就來總結下輸入子系統的框架。核心層主要在input.c檔案中,class register input class register chrdev input major,input input ...

軟體框架 架構 模式之我見

軟體框架 架構 模式之我見 軟體框架 軟體框架就是software frameworks,它定義了軟體系統在某個平台上為完成某項功能所提供普遍操作 以及這些普遍操作的內在實現過程。換一種說法,軟體框架提供了若干操作介面,這些操作介面可以完成特定的功能,這些操作介面的實現對我們來說是不可見的,我們只需...

SpringBoot 日誌 切換日誌框架

在sprinboot切換日誌框架其實是不提倡的,使用預設的slf4j logback就可以了,但非要換也沒辦法是把哈哈 從logback切換到log4j,使用log4j作為實現 1.參照log4j和slf4j的關係圖 3.加入適配log4j的jar包,該包直接依賴了log4j的jar包,所以就不必再...