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

标签 java logging log4j log4j2

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

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

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

谢谢!

最佳答案

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>

关于java - 将JUL相关的log4j 1.2配置转换为log4j 2配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30071284/

相关文章:

python - 如果禁用记录器,则防止创建空日志文件

java - 我正在从 log4j.xml 迁移到 log4j2.xml 。如何在 log4j2.xml 中的 RollingAppender 中设置 <param name ="Append"value ="true"/>

java - Log4j 不打印完整的堆栈跟踪

java - Gradle 不会解析依赖关系(Maven 会)

java - 投票系统增加票数

c# - 对于这个简单的OOAD问题,哪种设计最优雅?

json - 如何将 slf4j-over-logback 日志写为 JSON

python - 如何在输出旁边显示 python 输入代码

java - Swagger/Openapi-注释 : How to produce allOf with $ref?

Java 日志查看器