我是用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 ...