繁体   English   中英

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

[英]Migrating from log4j to log4j2 - properties file configuration

我有一个使用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文件与上面的配置相同吗?

这是我在阅读文档并工作后构建的内容。

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

您可以使用它从 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

Log4j2 支持 .properties 文件,但它们已更改属性语法。 您可以在此处查看他们的手册,它涵盖了创建新配置所需的所有内容。

我知道这是一个老问题,但为了历史:

由于 Log4j2 2.13.0 有一个 Log4j 1 配置文件的实验性功能: http : //logging.apache.org/log4j/2.x/manual/compatibility.html

相关 JIRA 问题: https : //issues.apache.org/jira/browse/LOG4J2-63

您可以使用这个美妙的前端 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM