對於log4j2的一些記錄

2021-10-08 10:34:11 字數 2892 閱讀 3353

我是用log4j2.yml做的日誌檔案,所以需要先導入幾個包:

首先,先排除springboot自帶的日誌:

org.springframework.boot<

/groupid>

spring-boot-starter<

/artifactid>

<

!-- 排除springboot自帶的包,這裡注意,如果在spring-boot-starter-web中排除,排不乾淨--

>

org.springframework.boot<

/groupid>

spring-boot-starter-logging<

/artifactid>

<

/exclusion>

<

/exclusions>

<

/dependency>

之後需要加入log4j2的依賴:

<

!-- log4j2 --

>

org.springframework.boot<

/groupid>

spring-boot-starter-log4j2<

/artifactid>

<

/dependency>

<

!-- 加上這個才能辨認到log4j2.yml檔案 --

>

com.fasterxml.jackson.dataformat<

/groupid>

jackson-dataformat-yaml<

/artifactid>

<

/dependency>

configuration

:status

: info #用來指定log4j本身的列印日誌的級別

monitorinterval

:30

#用於指定log4j自動重新配置的監測間隔時間,單位是s,最小是5s.

properties

:# 定義全域性變數

property:-

name

: log.level

value

: info

-name

: log.path

value

: d:/pkt/log

-name

: project.name

value

: ptk

-name

: log.pattern

#%p:日誌的優先順序

#%d{}:時間

# %c(區分大小寫):列出呼叫logger的類的全名

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

#%f:顯示呼叫logger的源檔名

#%r:顯示從程式啟動時到記錄該條日誌時已經經過的毫秒數

#%m:顯示輸出資訊

#%n:換行

value

:"【%p】,%d,%c,%l,%m%n"

:console

:# 輸出到控制台

name

: console #指定名字

target

: system_out

patternlayout

:pattern

: $rollingfile

:name

: rolling_file

# filename 指定輸出日誌的目的檔案帶全路徑的檔名

filename

: $/$.log

# filepattern 指定當發生rolling時,檔案的轉移和重新命名規則

filepattern

:"$/$$/$-%d-%i.log.gz"

patternlayout

:pattern

: $filters

:#一定要先去除不接受的日誌級別,然後獲取需要接受的日誌級別

thresholdfilter

:#onmatch和o****match可以選擇的值及其含義。可選的值分別是,accept(允許), deny(拒絕), neutral(中立)

-level

: $onmatch

: accept

o****match

: deny

policies

:#指定滾動日誌的策略,就是什麼時候進行新建日誌檔案輸出日誌

timebasedtriggeringpolicy

:# 按天分類

modulate

:true

interval:1

#單位為h

defaultrolloverstrategy

:# 用來指定同乙個資料夾下最多有幾個日誌檔案時開始刪除最舊的,建立新的(通過max屬性),預設是7個,最多100個

max:

100loggers

:root

:#用來指定專案的根日誌,如果沒有單獨指定logger,那麼就會預設使用該root日誌輸出

level

: error:-

ref: console

-ref: rolling_file

logger

:# 用來單獨指定日誌的形式,比如要為指定包下的class指定不同的日誌級別等,為com.***包配置特殊的log級別,方便除錯,trace會列印sql具體結果,debug只列印sql語句

-name

additivity

:false

level

: trace:-

ref: console

-ref: rolling_file

log4j2 使用詳解

1.log4j2的匯入 2.測試用例 log4j 2.0的使用非常簡單,只要用logmanager的getlogger函式獲取乙個logger,就可以使用logger記錄日誌,如下 import org.apache.logging.log4j.logmanager import org.apach...

Log4j2使用案例

全乾貨記錄 link org.apache.logging.log4jgroupid log4j apiartifactid 2.13.3version dependency org.apache.logging.log4jgroupid log4j coreartifactid 2.13.3ver...

log4j2效能優化

背景 最近在做log4j公升級到log4j2的專案,在測試公升級之後的效能時,被驚了一下,效能沒有提公升,反而下降了,趕緊研究了一下log4j2的相關配置,以下是研究結果。1.2.不要使用location相關屬性,例如 c or class,f or file,l or location,l or ...