slf4j log4j使用總結

2021-08-07 23:17:20 字數 2805 閱讀 3338

<

dependency

>

<

groupid

>

org.slf4j

groupid

>

<

artifactid

>

slf4j-api

artifactid

>

<

version

>

1.7.21

version

>

dependency

>

<

dependency

>

<

groupid

>

org.slf4j

groupid

>

<

artifactid

>

slf4j-log4j12

artifactid

>

<

version

>

1.7.21

version

>

dependency

>

<

dependency

>

<

groupid

>

log4j

groupid

>

<

artifactid

>

log4j

artifactid

>

<

version

>

1.2.17

version

>

dependency

>

log4j.rootlogger or log4j.rootcategory

org.apache.log4j.******layout

org.apache.log4j.htmllayout

org.apache.log4j.xml.xmllayout

org.apache.log4j.ttcclayout

org.apache.log4j.patternlayout(常用)

log4j.debug log的log日誌輸出

#%m——輸出**中指定的訊息

#%p——輸出優先順序,即debug、info、warn、error、fatal

#%r——輸出自應用啟動到輸出該log資訊耗費的毫秒數

#%c——輸出所屬的類目,通常就是所在類的全名

#%t——輸出產生該日誌事件的執行緒名

#%n——輸出乙個回車換行符,windows平台為"\r\n",unix平台為"\n"

#%d——輸出日誌時間點的日期或時間,預設格式為iso8601,也可以在其後指定格式

#比如:%d,輸出類似:

#2023年7月21日 12:12:12,921

#%l——輸出日誌事件的發生位置,包括類目名、發生的執行緒、以及在**中的行數

#%x: mdc。

#%%: 輸出乙個"%"字元

#%f: 輸出日誌訊息產生時所在的檔名稱

#%l: 輸出**中的行號(%l已包含了行號)

#此配置是patternlayout對應的 其他的layout配置 會出現警告日誌

log4j配置動態修改配置檔案 propertyconfigurator configure/configureandwatch

log4j的mdc ndc,我們日誌中心的上下文實現

slf4j的format

○ logger對記錄日誌動作的抽象,它提供了記錄不同級別日誌的介面

○ rootlogger在log4j中,所有logger例項組成乙個單根的樹狀結構,沒有父節點,其level欄位必須設值以防止其他logger例項都沒有設定level值的情況

○ loggerrepository、logger例項的容器 其實現類 hierarchy

○ level 日誌級別抽象

○ loggingevent 日誌資訊

○ layout 輸出的格式

○ logmanager 將configurator和loggerrepository整合在一起

自定義layout,自定義layout

1、介面卡模式 logger的封裝 log4jloggeradapter

2、單例模式 staticloggerbinder

3、工廠模式 ilogge***ctory

4、外觀模式 logger

5、直譯器模式 patternlayout

SLF4J Log4j 日誌配置

最近現場乙個同步程式經常導致cpu 100 經分析判斷,很可能是這個同步程式頻繁呼叫io導致,因原有的日誌是通過手工寫檔案,沒有使用第三方工具,可能存在問題。所以今天一狠心就決定替換掉原來的寫日誌方式。之前基本沒碰過日誌工具方面的東西,只是使用,一直有點犯怵。今天在網上一搜還是有很多,但各種說法都有...

日誌框架統一輸出控制(slf4j log4j)

場景 乙個專案中融合多個採用不同日誌記錄的框架。不同的框架採用的預設日誌框架不同,有些用的slf4j,有些用的log4j。專案中我們需要統一控制日誌的列印格式和列印級別。方案 將log4j和slf4j整合 保留原本的log4j的jar包,刪除slf4j 1.5.8.jar,然後匯入slf4j api...

slf4j log4j列印日誌,控制台無日誌輸出

今天看以前的專案,執行起來報錯,專案日誌對於專案是很重要的,但是控制台沒有列印出來日誌,執行起來報錯的問題先放一放,先把日誌的問題解決了,我專案中有log4j.propertie 檢查一番之後,到底為什麼沒有把日誌列印出來,控制台為什麼沒有顯示,下面我們來看 檢查各項都沒問題控制台日誌沒有輸出slf...