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

log4j2中的PropertyConfiguration

伊飞光
2023-03-14

我正在迁移log4j1.2。8至log4j 2.3。一切正常,除此之外,我没有为PropertyConfiguration找到任何替代品。

是否有其他类来处理PropertyConfiguration之前所做的工作?

共有3个答案

周涵畅
2023-03-14

我的解决方案只是按照Log4J站点中的说明进行操作https://logging.apache.org/log4j/2.x/manual/migration.html,就是我换了

<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

 <dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-1.2-api</artifactId>
    <version>2.14.1</version>
 </dependency>

即使使用classorg,也没有编译错误。阿帕奇。log4j。属性配置程序

这比尝试迁移到更容易

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>2.14.1</version>
</dependency>

正如@Christian所指出的,它不能替代类PropertyConfiguration。诚然,不迁移我不会从log4j2的新功能中获益。

章子航
2023-03-14

Log4j 2目前支持使用XML、JSON或YAML进行配置。虽然在不久的将来也可能支持属性文件,但语法肯定与log4j1不同。

段兴为
2023-03-14

也许这能帮到你?

如何使用特定的配置文件在代码中重新配置log4j2?请参阅下面的示例。请注意,此LoggerContext类不是公共API的一部分,因此您的代码可能会因任何小版本而中断。

// import org.apache.logging.log4j.core.LoggerContext;

LoggerContext context = (org.apache.logging.log4j.core.LoggerContext) LogManager.getContext(false);
File file = new File("path/to/a/different/log4j2.xml");


// this will force a reconfiguration
context.setConfigLocation(file.toURI());**
 类似资料:
  • 我有麻烦配置"DefaultRolloverStrategy"log4j2.xml做以下工作:- 确保只保留最后4个日志文件,并删除旧的日志文件。所以请明确,最后4个日志文件可能在数天内或同一天,因此,最后4个日志文件可能具有相同的日期或跨越不同的日期。 下面是log4j2的内容。xml 我运行我的应用程序如下所示 日志是在调用上述命令的同一目录中生成的。 下面是日志文件的历史记录示例:- “De

  • 我正在使用log4j的现有系统上工作,我想更新到log4j2。 有一个自定义Springbean从文件加载配置。我需要保持这种方法。我不能使用"log4j.configuration文件"系统属性。 我们有一个属性文件,其中指定了当前log4j.xml的路径(NFS共享) Springbean有以下代码。。。 } 在log4j2中,没有PropertyConfiguration。如何加载log4j

  • 根据http://logging.apache.org/log4j/2.x/manual/configuration.html的Log4J2手册,使用 并记录语句,如 然而,我得到了两次信息,即。 “简单信息消息” “简单信息消息”

  • 我试图根据文档(以及相关的SO问题)设置LOG4J,但它不会创建假定的文件,但WildFly中有这样的日志: web.xml app.war/WEB-INF/类/log4j2.xml app.war/WEB-INF/lib 你能告诉我怎么了吗?我尝试在web.xml中注释掉上下文参数,并依赖自动配置,但是没有变化。 编辑 当我添加以下代码时 失败的方式不同(我现在没有时间调查)

  • log4j2的半天滚动不适用于给定的属性文件。 如果给定时间间隔,并且文件夹以和的形式给出,则翻转将每小时和每分钟工作一次 如何半天翻转?log4j2支持吗?

  • 但是房产没有被选中。例如,下面的代码创建一个${log-path}文件夹来存储日志文件,而不是所需的logs文件夹。 我做错了什么?