Log4J2:在 log4j2.properties 文件中定义自定义级别



这是我的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 表示它每次都会记录。

自定义级别 = 详细customLevel.VERBOSE = 525

最新更新