log4j2 配置檔案解讀

2022-09-15 11:54:10 字數 2247 閱讀 4848

日誌介面(slf4j):slf4j是對所有日誌框架制定的一種規範、標準、介面,並不是乙個框架的具體的實現,因為介面並不能獨立使用,需要和具體的日誌框架實現配合使用,比如log4j、logback等日誌框架。常用的日誌框架有log4j、logback、log4j2,log4j是apache實現的乙個開源日誌元件;logback同樣是由log4j的作者設計完成的,擁有更好的特性,用來取代log4j的乙個日誌框架,是slf4j的原生實現;log4j2是log4j 1.x和logback的改進版,據說採用了一些新技術(無鎖非同步、等等),使得日誌的吞吐量、效能比log4j 1.x提高很多,並解決了一些死鎖的bug,而且配置更加簡單靈活。以下以log4j2 xml配置檔案為例。

<?

xml version="1.0" encoding="utf-8"

?>

<

configuration

status

="warn"

monitorinterval

="10"

>

<

properties

>

<

property

name

="log_home"

>logs

property

>

<

property

name

="file_name"

>adapter_service_log

property

>

properties

>

<

>

<

console

name

="console"

target

="system_out"

>

<

patternlayout

pattern

="%d [%t] %-5level %logger - %msg%n"

/>

console

>

<

rollingrandomaccessfile

name

="rollingfile"

filename

="$/$.log"

filepattern

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

>

<

patternlayout

pattern

="%d [%t] %-5level %logger - %msg%n"

/>

<

policies

>

<

timebasedtriggeringpolicy

interval

="1"

modulate

="true"

/>

<

sizebasedtriggeringpolicy

size

="100 mb"

/>

policies

>

<

defaultrolloverstrategy

max="30"

>

<

delete

basepath

="$/$$/"

maxdepth

="2"

>

<

iffilename

glob

="*.log.gz"

/>

<

iflastmodified

age="7d"

/>

delete

>

defaultrolloverstrategy

>

rollingrandomaccessfile

>

>

<

loggers

>

<

root

level

="info"

>

<

ref="console"

/>

<

ref="rollingfile"

/>

root

>

loggers

>

configuration

>

pattern對齊修飾

參考:

log4j2配置檔案詳解

log4j 2.x版本不再支援像1.x中的.properties字尾的檔案配置方式,2.x版本配置檔案字尾名只能為 xml json 或者 jsn 系統選擇配置檔案的優先順序 從先到後 如下 1 classpath下的名為log4j2 test.json 或者log4j2 test.jsn的檔案.2...

log4j2配置檔案的故事

我們來詳細介紹一下 status 這是日誌自身的日誌。一般寫off,代表關閉不顯示。八個日誌級別以及優先順序排序 off 關閉 fatal 致命的 error warn info debug trace 堆疊 monitorinterval 重新整理此檔案的時間間隔,保證修改後的檔案及時生效。很顯然...

log4j2配置檔案的故事

我們來詳細介紹一下 status 這是日誌自身的日誌。一般寫off,代表關閉不顯示。八個日誌級別以及優先順序排序 off 關閉 fatal 致命的 error warn info debug trace 堆疊 monitorinterval 重新整理此檔案的時間間隔,保證修改後的檔案及時生效。很顯然...