java - 自定义位置中的 Log4j 属性

标签 java properties log4j propertyconfigurator

我正在将 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/

相关文章:

java - 在 Android Studio 中使用 @NonNull 注解的正确方法

java - 如何使用Reflection类动态调用setter和getter方法?

ios - xcode 4.4 中的自动属性合成如何工作?

css - 将类定义为 CSS 属性?

jboss - jboss-log4j.xml中的类别VS记录器标签

java - 重定向 System.out 和 System.err

java - 为jsp使用javascript变量

java - 如何使用 twitter API 1.1 和 java 搜索推文

javascript - 除了 "delete"之外,还有其他方法可以从对象中删除属性吗?

java - 为什么 log4j 在(多次)重复相同异常后禁用堆栈跟踪?