gpt4 book ai didi

java - Log4j 2 不再支持 log4j.properties 文件了吗?

转载 作者:IT老高 更新时间:2023-10-28 20:27:46 25 4
gpt4 key购买 nike

我正在运行一个使用 log4j 2.0-rc1 和 log4j.properties 文件的示例,但 log4j lib 始终使用默认配置(日志级别、附加程序等)运行它。我还尝试将名称更改为 log4j2.properties 并没有发生任何事情。

最佳答案

Log4j 2 不再支持 Log4j v1 ".properties"格式(然而,从 v2.4 开始,Log4j 支持 Property 格式,但其语法为 totally different from v1 format )。新格式为 XML、JSON 和 YAML,请参阅 the documentation (注意:如果您在名为“.properties”的文件中使用了其中一种格式,则可能会造成混淆)。

要指定配置文件的位置,您是使用系统属性 log4j.configurationFile、Log4j 类 ConfigurationFactory 还是其他?你读了吗this manual page ?它解释说: 虽然 Log4j 2 配置语法与 Log4j 1.x 不同,但大多数(如果不是全部)相同的功能是可用的。

因此,似乎不支持旧版 Log4j1.x log4j.properties文件,必须将其迁移到 v2.x 格式。不过,查看我上面给出的链接中的示例,迁移似乎很容易。以下是摘录:

Log4j v1.x 配置文件示例:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="STDOUT" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</layout>
</appender>
<category name="org.apache.log4j.xml">
<priority value="info" />
</category>
<Root>
<priority value ="debug" />
<appender-ref ref="STDOUT" />
</Root>
</log4j:configuration>

迁移到 Log4j v2 的相同配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<Console name="STDOUT" target="SYSTEM_OUT">
<PatternLayout pattern="%d %-5p [%t] %C{2} (%F:%L) - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.log4j.xml" level="info"/>
<Root level="debug">
<AppenderRef ref="STDOUT"/>
</Root>
</Loggers>
</Configuration>

关于java - Log4j 2 不再支持 log4j.properties 文件了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22485074/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com