1

我正在尝试通过在 commons-logging.properties 中指定文件的名称来配置 Commons Logging 以使用特定的 Log4J 属性文件,但是 Log4J 继续查找名为 log4j.properties 的文件。

看来,如果 Log4J jar 在类路径中,则 commons-logging.properties 的内容将被忽略,但是如果我从类路径中删除 jar,则处理 commons-logging.properties 文件并正确地抛出一个错误说“用户指定的日志类 'org.apache.commons.logging.impl.Log4JLogger' 找不到或不可用。” 因此实际上正在读取公共日志记录属性文件。

Commons Logging 和 Log4J 属性文件都在类路径目录中。

我遇到了与commons-logging 和 log4j 属性文件中描述的相同的问题,但我不明白它所说的答案......

文件 commons-logging.properties 仅从 commons 日志中读取,而 log4j 将在系统属性中查找 log4j.configuration。

此外,这个答案似乎与 Commons Logging 用户指南中的信息相矛盾。用户指南说....

log4j.configuration= log4j.properties使用此系统属性来指定 Log4J 配置文件的名称。如果未指定,则默认配置文件为 log4j.properties。

即使我指定了 Log4J 配置文件的名称,它仍然使用默认值。

是否可以从 commons-logging.properties 文件中指定 log4j 属性文件的名称(例如 log4j-MyApp.properties),还是我误解了这两个组件如何相互交互?

4

0 回答 0