当前位置: 首页 > 知识库问答 >
问题:

Log4j 2不支持Log4j。属性文件了吗?

朱高超
2023-03-14

我正在使用log4j2.0-rc1和log4j运行一个示例。属性文件,但log4j lib始终使用默认配置(日志级别、appender等)运行它。我还尝试将名称更改为log4j2。属性,但什么也没发生。

共有3个答案

金泉
2023-03-14

log4j2使用了一种新的配置文件格式。您需要使用XML(默认)、JSON(带有附加库),甚至YAML(同样是库)。查看文档。

时修贤
2023-03-14

从版本2.4开始,Log4J2现在再次支持。属性文件。有关属性配置,请参见文档中的此处。

配置与属性

从版本2.4开始,Log4j现在支持通过属性文件进行配置。请注意,属性语法与Log4j 1中使用的语法不同。与XML和JSON配置一样,属性配置根据插件和插件属性定义配置。

终翰学
2023-03-14

log4j2不再支持log4jv1.properties格式(然而,自v2.4以来,Log4j支持属性格式,但其语法与v1格式完全不同)。新的格式是XML、JSON和YAML,请参阅文档(注意:如果在名为“.properties”的文件中使用这些格式之一,可能会让人困惑)。

要指定配置文件的位置,您是否使用系统属性log4j.configurationFile,Log4j类ConfigurationFactory,还是其他?你看过这页手册吗?它解释说:虽然Log4j2配置语法不同于Log4j1. x,但相同功能的大部分(如果不是全部的话)是可用的。

因此,似乎是一个遗留的Log4j1。xlog4j。属性文件不受支持,必须将其迁移到v2。x格式。不过,从我上面给出的链接中的示例来看,迁移似乎相当简单。以下是摘录:

log4jv1的示例。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/html" target="_blank">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>
 类似资料:
  • 我有一个使用log4j的java应用程序,配置如下。 log4j.properties 我想使用与上面相同的配置迁移到log4j2。尚未找到任何与log4j2属性配置文件相关的内容,因为最近包含了此支持。 谁能帮我弄清楚我的log4j2怎么样。属性文件是否具有上述相同的配置?

  • 我试图配置Tomcat 8使用Log4j2进行日志记录。 我找到了使用Log4j登录Tomcat的参考资料。它提供了一个示例log4j。将Log4j配置为与Tomcat的内部日志匹配的属性文件。对于Log4j2来说,大部分转换看起来非常简单,但最后将记录器映射到appender的部分让我感到困惑: 是否有人将此配置转换为使用Log4j2?我一直在使用Log4j2配置文档,并且已经阅读了Log4j2

  • 我在哪里可以找到默认的log4j配置文件的工人和驱动程序? 1) 目前Spark正在将执行器/工作者(stdout/stderr)级别的日志记录到工作文件夹,并将驱动程序级别的日志记录到日志文件夹。 我在哪里可以找到这个配置? 我尝试将Log4j2用于spark,而不是log4j。我正在尝试获取默认属性文件,以便可以将其中的一些内容复制到log4j2属性XML。 2) 另外,是否可以修改当前正在运

  • 问题内容: 开始进行log4j配置的最简单方法是什么? 问题答案: 将名为的文件放在类路径的根目录中: 不需要什么了。Log4j将发现它并进行自我配置。

  • 使用log4j,我可以将日志记录到调用此方法的不同文件: “解答”哦是的,我少了一个记录器: 我可以这样选择logger:

  • 我有一个spring boot应用程序,我想使用一个yml文件作为我的应用程序属性,还想使用一个普通的应用程序${profile}。属性文件集来配置我的应用程序。 所以我的问题是,这可以做到吗?如果可以的话,您如何配置spring boot来查找yml文件和属性,并将它们合并到每个环境的一个集合中? 至于为什么我想/需要两者都使用,这是因为我喜欢yml文件的灵活性和易用性,但内部组件(用于加密)需