首页 文章

从log4j迁移到log4j2 - 属性文件配置

提问于
浏览
7

我有一个使用 log4j 配置如下的java应用程序 .

log4j.properties

log4j.rootLogger=INFO, R
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = /trace.log
log4j.appender.R.Append = true
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %d{HH:mm:ss} %c{1} [%p] %m%n

我想使用与上面相同的配置迁移到log4j2 . 没有找到与log4j2属性配置文件相关的任何内容,因为最近包含了此支持 .

请任何人都可以帮助我如何将我的 log4j2.properties 文件与上面相同的配置?

4 回答

  • 2

    您可以使用它将Log4J.properties(v1.2)转换为log4j2.xml,如下所示:

    1)使用此转换器从v1.2属性转换为v1.2XML:https://log4j-props2xml.appspot.com/

    2)使用此链接提供的过程从v1.2 XML转换为v2.0 XML(即Log4j2.xml):https://logging.apache.org/log4j/2.x/manual/migration.html

  • 5

    Log4j2支持.properties文件,但它们已更改属性语法 . 您可以检查它们manual here它涵盖了创建新配置所需的全部内容 .

  • 9
    rootLogger.level = INFO
    property.filename = trace.log
    appenders = R, console
    
    appender.console.type = Console
    appender.console.name = STDOUT
    appender.console.layout.type = PatternLayout
    appender.console.layout.pattern = %d %5p [%t] (%F:%L) - %m%n
    
    appender.R.type = RollingFile
    appender.R.name = File
    appender.R.fileName = ${filename}
    appender.R.filePattern = ${filename}.%d{yyyy-MM-dd}
    appender.R.layout.type = PatternLayout
    appender.R.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n
    appender.R.policies.type = Policies
    appender.R.policies.time.type = TimeBasedTriggeringPolicy
    appender.R.policies.time.interval = 1
    
    rootLogger.appenderRefs = R, console
    
    rootLogger.appenderRef.console.ref = STDOUT
    rootLogger.appenderRef.R.ref = File
    
  • -2

    您可以使用这个精彩的前端Web将属性转换为XML http://log4j-props2xml.appspot.com/

    结果:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
        <appender name="R" class="org.apache.log4j.DailyRollingFileAppender">
            <param name="Append" value="true"/>
            <param name="DatePattern" value="'.'yyyy-MM-dd"/>
            <param name="File" value="/trace.log"/>
            <layout class="org.apache.log4j.PatternLayout">
                <param name="ConversionPattern" value="%d{HH:mm:ss} %c{1} [%p] %m%n"/>
            </layout>
        </appender>
        <root>
            <level value="INFO"/>
            <appender-ref ref="R"/>
        </root>
    </log4j:configuration>
    

相关问题