【问题标题】:How to change log4j properties to log4j2 properties?如何将 log4j 属性更改为 log4j2 属性?
【发布时间】:2021-11-19 20:33:13
【问题描述】:
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

【问题讨论】:

    标签: logging log4j log4j2


    【解决方案1】:

    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>
    

    【讨论】:

    • 非常感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    • 2013-12-10
    • 1970-01-01
    • 2017-04-24
    相关资源
    最近更新 更多