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