首页 > 解决方案 > 忽略依赖 jar 中的 log4j2.properties

问题描述

我有一个 Maven 项目,运行正常。我正在使用log4j2.xml文件来配置日志记录。直到今天一切正常。jar但是现在,我已经包含了一个拥有自己log4j2.properties文件的第三方的依赖项。不幸的是,这覆盖了我自己的配置。

有什么办法可以忽略,排除...该属性文件?

标签: javamavenlog4j2

解决方案


实际上,其他答案是不正确的,因为他们建议您使用 log4j 1.x 使用的系统属性,而不是 Log4j 2 使用的。

对于您想要使用的 Log4j 2 -Dlog4j2.configurationFile=/path/to/log4j2.xml。如果您只指定-Dlog4j2.configurationFile=log4j2.xml,那么 Log4j 将在类路径中查找该文件。显然,名称可以是您想要的任何名称。Log4j 还支持将系统属性放在名为的文件中log4j2.component.properties,因此如果您不想在命令行上指定它们,可以将它们包含在应用程序中具有该名称的 Java 属性文件中。

无论您做什么,都应该向第三方打开一个错误,因为将日志配置文件放在库 jar 中是一种不好的做法。


推荐阅读