将与JUL相关的log4j 1.2配置转换为log4j 2配置

时间:2015-05-06 08:24:20

标签: java logging log4j log4j2

我将应用程序从log4j 1.2转换为log4j2。在log4j.properties文件中,我发现了与Java util logging相关的以下配置。

handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=SEVERE

如何将此配置转换为log4j2配置?

谢谢!

1 个答案:

答案 0 :(得分:1)

Log4j2 provides a bridge将对java.util.logging API的所有调用路由到Log4j2。要激活它,请将系统属性java.util.logging.manager设置为org.apache.logging.log4j.jul.LogManager,并将Log4j2 JUL适配器jar添加到类路径中(请参阅" which jars FAQ")。

然后像往常一样配置log4j2。 log4j2手册提供了许多示例配置。

您提供的配置代码段可能会转换为类似下面的内容(我添加了一个FileAppender作为示例)。

<Configuration status="warn"><!-- use status="trace" for troubleshooting -->
  <Appenders>
    <Console name="STDOUT" target="SYSTEM_OUT">
      <PatternLayout pattern="%m%n"/>
    </Console>
    <File name="FILE" fileName="myapp.log">
      <PatternLayout>
        <pattern>%d %p [%t] %c{1.} %m%n</pattern>
      </PatternLayout>
    </File>
  </Appenders>
  <Loggers>
    <Root level="trace">
      <AppenderRef ref="STDOUT" level="ERROR" />
      <AppenderRef ref="FILE" />
    </Root>
  </Loggers>
</Configuration>