Logger日誌框架使用學習

2021-10-23 12:18:55 字數 1494 閱讀 7285

最近也開始注重開發的規範,以前開發專案的時候很少會去使用日誌框架記錄一些東西,部門大佬也提了希望我們著手開始尊重開發規範,所以先學習下日誌框架的用法以及應用場景

我們在**中經常能夠看到以下**,該方法的作用就是返回與引數傳遞類對應的logger物件。這邊主要是有個logge***ctory對我們的日誌進行管理,然後從factory中取出對應的logger

private

static logger logger = logge***ctory.

getlogger

(***.

class

);

然後我們平常使用日誌框架的時候用法也有很多,比如logger.info(),logger.error()等等,讓我們看看logger中有哪幾種的日誌記錄方式。

通過原始碼可以發現,logger的日誌記錄方式主要有5種,我們正常開發一般只用到debug以上的級別,下面就詳細介紹下5種級別的區別。

trace:顧名思義,該級別就是對程式推進的乙個追蹤。目前有在spring的原始碼中有看到相關的用法,example:只是簡單的列印了紙,感覺像system.out.println()的用法

log.

trace

("oncacherefreshed called with count: "

+ newcount)

;

debug:該級別就是平常我們開發**過程中用的比較多的乙個了。主要列印我們在開發環境中需要檢視,而正式服上並不需要記錄的內容。

info:這個用途比較廣泛,比如使用者登入了,可以用該級別對用於登入進行記錄

error:丟擲異常的時候,可以使用該級別進行錯誤記錄

public

inte***ce

logger

一般總是聽人說要記錄日誌日誌,但是我們什麼時候該使用日誌呢,這邊根據個人理解進行了整理。

發生程式執行錯誤時,controller接收引數時進行非空校驗,或者其他業務認證進行返回時,可以加入logger.error("使用者未登入***")在執行執行緒任務時,為了監控執行緒任務的執**況以及其他等等,需要使用日誌對每個執行緒任務進行記錄

介面訪問呼叫時,在微服務時代每個服務之間相互訪問,所以就有必要進行日誌記錄呼叫情況。

計時統計,平常我們可能會在**中記錄下某個演算法的執行時間,這種也可以使用日誌記錄

說到底日誌就是我們想要了解程式運**況而存在的工具,避開其他條條框框的約定,對於有必要了解專案運**況的方法中加日誌就好了。一般我們做的web專案主要日誌都記錄在controller層以及service層,一是controller介面需要被其他微服務呼叫所以需要進行記錄,二是我們controller可能會呼叫多個service中的方法,所以在service中也能進行記錄幫助我們快速定位問題。剩下的比如專案中的定時任務,還有跟其他客戶端聯調推送資料,或者開放介面給第三方呼叫,都需要進行記錄。

日誌處理logger

import logging type 數值字段識別測試 deflog type 建立logger,如果引數為空則返回root logger logger logging.getlogger wsy logger.setlevel logging.debug 設定logger日誌等級 這裡進行判斷,...

開源日誌庫Logger的使用

日誌對於開發來說是非常重要的,不管是除錯資料檢視 bug問題追蹤定位 資料資訊收集統計,日常工作執行維護等等,都大量的使用到。logger庫能提供的功能 執行緒資訊 類資訊方法資訊 漂亮的json內容列印 漂亮列印新行 n 清潔輸出 跳轉到源新增依賴 compile com.orhanobut lo...

Java模組 Logger日誌的使用

普通 log4j 的使用 先來看看log4j使用的配置資訊 layout 日誌輸出格式 log4j提供的layout有以下幾種 org.apache.log4j.htmllayout 以html 形式布局 org.apache.log4j.patternlayout 可以靈活的指定布局模式 org....