如何正确配置 Log4J?



我在使用 Log4J(版本 2.13.0(时遇到问题,并出现以下问题:

  • 我不知道我的log4j.properties文件配置是否正确,甚至是否被识别。
  • Log4J 没有使用我指定的模式,也不允许我记录任何跟踪/调试/信息/警告消息。

这是我log4j.properties文件:

status = trace
dest = out
name = PropertyConfiguration
property.filename = logs/log%d{yyyy-MM-dd HH:mm:ss}.log
property.pattern = %d{yyyy-MM-dd HH:mm:ss} | [%-5p] %c{1}:%L: %m%n
appender.console.type = Console
appender.console.name = STDOUT
appender.console.layout.type = PatternLayout
appender.console.layout.pattern = ${pattern}
appender.rolling.type = RollingFile
appender.rolling.name = RollingFile
appender.fileName = ${filename}
appender.rolling.filePattern = logs/log-%d{MM-dd-yyyy-HH-mm-ss}.log
appender.rolling.layout.type = PatternLayout
appender.rolling.layout.pattern = ${pattern}
appender.rolling.policies.type = Policies
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy
appender.rolling.policies.time.interval = 2
appender.rolling.policies.time.modulate = true
appender.rolling.strategy.type = DefaultRolloverStrategy
appender.rolling.strategy.max = 5
logger.rolling.name = me.tecc
logger.rolling.level = trace
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile
rootLogger.level = trace
rootLogger.appenderRef.stdout.ref = STDOUT

任何帮助将不胜感激。谢谢!

Log4J 没有使用我指定的模式,也不允许我记录任何跟踪/调试/信息/警告消息。

与其前身 Log4J 1.x 不同,Log4J 2 不支持 最初通过属性文件进行配置 释放。正是从Log4J 2.4开始支持属性 再次添加了文件,但语法完全不同

我看到您的 Log4j 版本是 2.13 低于 2.4,所以它不起作用。

请注意:

PropertyConfigurator(log4j.properties( 不处理DOMConfigurator(log4j.xml( 支持的高级配置功能,例如支持自定义错误处理程序、嵌套追加程序(如 AsyncAppender 等(。

appender.fileName = ${filename}

您错过了此配置中的"滚动"部分。 更改后重试,如下所示

appender.rolling.fileName = ${filename}

最新更新