簡體   English   中英

將 log4j1 配置適配到 log4j2

[英]Adapting log4j1 configuration to log4j2

我有一個使用 log4j 版本 1 的 java 應用程序,我想遷移到 log4j2。 配置屬性保持不變:

log4j.rootLogger=INFO,FILE,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %l - %m%n
log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
log4j.appender.FILE.File=${jboss.server.log.dir}/application/application.log
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{dd-MM-yyyy HH:mm:ss} %l - %m%n
log4j.appender.FILE.DatePattern='.'yyyy-MM-dd

這是我正在編碼的 xml 配置:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="ConsoleAppender" target="SYSTEM_OUT">
            <PatternLayout pattern="[%-5p] %d{yyyy-MM-dd HH:mm:ss} %l - %m%n" />
        </Console>
        <RollingFile name="DailyLog"
                 fileName="${env:JBOSS_HOME}/standalone/log/application/application.log"
                 filePattern="${env:JBOSS_HOME}/standalone/log/application/application.log.%d{yyyy-MM-dd}">
            <PatternLayout pattern="[%-5p] %d{dd-MM-yyyy HH:mm:ss} %l - %m%n"/>
            <Policies>
              <TimeBasedTriggeringPolicy/>
            </Policies>
        </RollingFile>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="ConsoleAppender" />
            <AppenderRef ref="DailyLog"/>
        </Root>
    </Loggers>
</Configuration>

創建的日志文件應該是:

application.log.2022-06-05
application.log.2022-06-06
application.log  (Today, June 7th)

Log4j2 版本:2.17.1

目標是第二種配置等同於第一種配置。

問題:你認為xml配置等同於配置屬性嗎? 或者有什么遺漏嗎?

發布更新:

  • ImmediateFlush 已移除
  • Wildfly路徑已更改
  • FileAppender 已移除
  • 刪除了 TimeBasedTriggeringPolicy 中的間隔屬性

發布更新后,它可以工作。

TL;DR:刪除名為FileAppender的附加程序。

您的配置中的主要問題是您有兩個附加到同一個文件的附加程序: ${env:JBOSS_HOME}/standalone/log/application/application.log Log4j2僅在兩個附加程序屬於同一類型時才允許這樣的配置(即FileAppenderRollingFileAppender ):在這種情況下,兩個附加程序將共享一個文件管理器。 否則配置可能會失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM