log4j.rootCategory=DEBUG,CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=DEBUG
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d %-5p %-30c - %m%n
log4j.logger.org.apache.velocity=WARN
我需要从 log4j 迁移到 log4j2,并且需要如上所述更改属性文件。也许有人可以帮助我理解 log4j2.properties 的样子。
这是我自己做的,但我不确定是否正确
appenders = console
appender.console.type = Console
appender.console.name = STDOUT
appender.console.threshold=DEBUG
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%d %-5p %-30c - %m%n
最佳答案
Log4j2 的属性格式并不是最流行的一种。您可以看到this answer了解这种格式背后的逻辑。
您的配置缺少记录器的配置:
appender.1.type=Console
appender.1.name=STDOUT
appender.1.target=SYSTEM_OUT
appender.1.layout.type=PatternLayout
appender.1.layout.pattern=%d %-5p %-30c - %m%n
rootLogger.level=DEBUG
rootLogger.appenderRef.1.ref=STDOUT
rootLogger.appenderRef.1.level=DEBUG
logger.1.name=org.apache.velocity
logger.1.level=WARN
另请注意,附加程序的阈值通常在 AppenderRef
上配置(参见 this question )。
我个人认为 XML 格式更容易理解:
<Configuration xmlns="http://logging.apache.org/log4j/2.0/config">
<Appenders>
<Console
name="Console"
target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p %-30c - %m%n" />
</Console>
</Appenders>
<Loggers>
<Root level="DEBUG">
<AppenderRef
ref="Console"
level="DEBUG" />
</Root>
<Logger
name="org.apache.velocity"
level="WARN" />
</Loggers>
</Configuration>
关于logging - 如何将log4j属性更改为log4j2属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69350899/