logging - 如何将log4j属性更改为log4j2属性?

标签 logging log4j log4j2

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/

相关文章:

android - 从第三方 lib/sdk 中删除所有调试日志记录调用(Proguard 不工作)

maven - 如何在 Maven Reactor 摘要中指示事件配置文件?

spring-mvc - Log4j,Spring MVC,找不到记录器的附加程序

java - log4j2 错误无法识别的格式说明符 [t]

java - 每个上下文的 Log4J

node.js - 在 Express.js 中使用 Winston 进行日志记录 - 如何针对不同的环境进行配置?

c# - 如何将 Microsoft.Extensions.Logging 与 Application Insights 结合使用来记录事件和指标

java - 找不到“org.apache.commons.logging.impl.Log4JLogger”

java - 如何设置 log4j 属性文件?

java - 我如何使用 log4j2 为不同的类使用不同的日志记录级别?