我正在将log4j 1.2.8迁移到log4j 2.3。一切都很好,除此之外,我没有找到任何PropertyConfigurator的替代品。
有没有另外一个类来处理PropertyConfigurator之前做过的事情?
发布于 2017-09-13 21:36:45
也许这个能帮到你?
如何使用特定的配置文件在代码中重新配置log4j2?请参见下面的示例。请注意,此LoggerContext类不是public 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());**发布于 2015-08-22 14:49:48
Log4j 2目前支持使用XML、JSON或YAML进行配置。虽然在不久的将来也可能支持属性文件,但其语法肯定会与Log4j 1不同。
发布于 2021-10-11 15:27:26
我的解决方案简单地按照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>没有编译错误,即使使用类org.apache.log4j.PropertyConfigurator也是如此。
这比尝试迁移到
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.14.1</version>
</dependency>正如@Christian所指出的,它无法替代类PropertyConfigurator。诚然,如果不迁移,我将无法从Log4j 2的新功能中获益。
https://stackoverflow.com/questions/32043770
复制相似问题