我正在将 Apache Commons Logging 和 SLF4J 与 log4j 一起使用,但我还想在自定义位置(如 conf/log4.properties)中使用 log4j.properties。这是问题所在:
如果我用
PropertyConfigurator.configure("conf/log4j.properties");
然后我的应用程序绑定(bind)到 log4j 并破坏了拥有 ACL 和 SLF4J 的目的。
在应用不知道日志记录实现是什么的情况下配置它的最佳方法是什么?
最佳答案
我认为最简单的做法是使用log4j.configuration 系统属性指定文件的位置。采用 Log4J manual 中的示例:
java -Dlog4j.configuration=conf/log4j.properties -classpath ...
我相信 Log4J 会在类路径的任何位置找到名为“log4j.properties”的文件,但可能是幻觉。然而,值得一试。
关于java - 自定义位置中的 Log4j 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/875663/