java - 忽略依赖 jar 中的 log4j2.properties
问题描述
我有一个 Maven 项目,运行正常。我正在使用log4j2.xml
文件来配置日志记录。直到今天一切正常。jar
但是现在,我已经包含了一个拥有自己log4j2.properties
文件的第三方的依赖项。不幸的是,这覆盖了我自己的配置。
有什么办法可以忽略,排除...该属性文件?
解决方案
实际上,其他答案是不正确的,因为他们建议您使用 log4j 1.x 使用的系统属性,而不是 Log4j 2 使用的。
对于您想要使用的 Log4j 2 -Dlog4j2.configurationFile=/path/to/log4j2.xml
。如果您只指定-Dlog4j2.configurationFile=log4j2.xml
,那么 Log4j 将在类路径中查找该文件。显然,名称可以是您想要的任何名称。Log4j 还支持将系统属性放在名为的文件中log4j2.component.properties
,因此如果您不想在命令行上指定它们,可以将它们包含在应用程序中具有该名称的 Java 属性文件中。
无论您做什么,都应该向第三方打开一个错误,因为将日志配置文件放在库 jar 中是一种不好的做法。
推荐阅读
- macos - 即使具有完全访问权限,终端仍显示“不允许操作”
- powershell - Powershell 比较对象为每个 SideIndicator 输出单独的文件
- wordpress - 在 WordPress 中,贡献者是否可以在编辑或管理员批准后更改为发布应用?
- android - Windows 上的反斜杠问题和 React Native run-android 命令
- java - 转录以仅使用 stream()
- docker - 如何清除 docker build 缓存(一直说 0B 已回收)
- java - 某些设备在尝试播放 Android Mediaplayer 时报告 java.lang.IllegalStateException
- r - 创建一个包含 (9 ) 个数据框的列表
- node.js - 如何使用node js在mongodb中动态插入多级数组
- algorithm - 是否有重构代码以利用动态编程概念的经验法则?