java - 未从 jar 中获取 log4j.properties

标签 java logging log4j

我的服务器的类路径中有一个 jar,它包含位于 jar 根目录的 log4j.properties 文件,用于记录代码。当 jar 中的代码运行时,代码的日志记录不会发生。当我使用 java -Dlog4j.debug 选项分析问题时,我知道 log4j 正在加载 axis-ant.jar 的 log4j.properties 文件(这也是在我的类路径上)并使用它代替我的 jar 的属性文件。

当我随后从类路径中删除 axis-ant.jar 时,我的 jars log4j.properties 文件被立即选中并记录了我的代码。

有人能解释一下为什么我的 log4j.properties 文件没有加载而 axis-ant.jar 存在吗?

令人惊讶的是,类路径中存在的带有 axis-ant.jar 的同一个 jar 正在运行,并且在另一台服务器上成功地进行了正确的日志记录。这两个服务器都安装了相同的 java 5 版本和相同版本的 log4j jar

最佳答案

你应该看看 log4j手动的。 “默认初始化过程”部分描述了 log4j 将如何尝试查找初始化文件并解释了匹配特殊配置的可能性(例如,通过设置系统属性 log4j.configuration)。

如果您不想做任何特殊配置,您必须确保您的配置文件将是第一个在类路径中找到的文件。

关于java - 未从 jar 中获取 log4j.properties,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5402953/

相关文章:

java - Log4j "fallback"附加程序

java - 在 Spring 上下文加载之前避免 Log4j 警告

java - 如何将数据从 Java 传递到 FXML?

java - 禁用 Hibernate 日志记录,显示 sql false 不起作用

logging - 有没有办法以编程方式更改日志箱的默认日志记录级别?

javascript - 如何制作 log.csv 文件以在一行中记录 400 个 .jpeg 名称 (Photoshop/JavaScript)

java - log4j配置与jboss7问题

java - 帮助使用 JSON 解析 Yahoo 搜索结果 Not a JsonArray exception

java - 使用 Google 验证用户身份

java - 是否可以多次使用文件扫描程序而不声明多个扫描程序?