簡體   English   中英

Log4J2:在 log4j2.properties 文件中定義自定義級別

[英]Log4J2: define custom level in log4j2.properties file

這是我的 log4j2.properties:

rootLogger.level = ALL

customLevels = V
customLevel.V.name = VERBOSE
customLevel.V.intLevel = 525

property.filename = trace.log
property.msgcolor = FATAL=BG_Yellow Red Bright, ERROR=Red, WARN=Yellow Bold, INFO=Green, DEBUG=BG_Magenta Yellow, TRACE=blue

appenders = R, console

appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = [%d{yyyy-MM-dd HH:mm:ss,SSS} %highlight{%level}{${msgcolor}} %c{1}:%L]: %highlight{%msg}{${msgcolor}}%style{%n}{Default Normal}%throwable

appender.R.type = RollingFile
appender.R.name = File
appender.R.fileName = ${filename}
appender.R.filePattern = ${filename}.%d{yyyy-MM-dd}
appender.R.layout.type = PatternLayout
appender.R.layout.disableAnsi = true
appender.R.layout.noConsoleNoAnsi = true
appender.R.layout.pattern = %d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c{1}:%L - %m%n
appender.R.policies.type = Policies
appender.R.policies.size.type = SizeBasedTriggeringPolicy
appender.R.policies.size.size = 20MB

rootLogger.appenderRefs = R, console

rootLogger.appenderRef.console.ref = STDOUT
rootLogger.appenderRef.R.ref = File

我希望下面的代碼

customLevels = V
customLevel.V.name = VERBOSE
customLevel.V.intLevel = 525

添加一個名為 VERBOSE 的新自定義級別,並將 intLevel 值設置為 525,但它不會產生任何影響。 為什么?

在您的 log4j2.properties 中使用以下內容:customLevel.VERBOSE=525

我遇到了類似的問題,當我們使用 xml 文件配置 log4j2 屬性並且當我們在 log4j2.properties 文件中具有這些屬性時出現問題時它會起作用。

現在的解決方案如下,您可以在其中直接提及自定義級別名稱並刪除 customerLevel.v.name 屬性。 直到 log4j2 修復了這個問題。

簡單的解決方案:添加以下屬性。 為了快速檢查,您可以將值設為 1 而不是 525,1 表示每次都會記錄。

customLevels = VERBOSE customLevel.VERBOSE = 525

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM