我正在尝试通过在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属性文件。
Commons Logging和Log4J属性文件都在类路径目录中。
我遇到的问题与commons-logging and log4j properties file中描述的问题相同,但我不明白它的答案......
文件commons-logging.properties仅从公共日志记录中读取 而log4j将在系统中查找log4j.configuration 属性。
此答案似乎与Commons Logging用户指南中的信息相矛盾。用户指南说....
log4j.configuration = log4j.properties 使用此系统属性 指定Log4J配置文件的名称。如果没有指定, 默认配置文件是log4j.properties。
即使我已经指定了Log4J配置文件的名称,它仍然使用默认值。
是否可以从commons-logging.properties文件中指定log4j属性文件的名称(例如log4j-MyApp.properties),或者我误解了这两个组件如何相互交互?