Java SLF4J是否可以自动加载log4j.properties,而无需显式调用org.apache.log4j.PropertyConfigurator?

Java SLF4J是否可以自动加载log4j.properties,而无需显式调用org.apache.log4j.PropertyConfigurator?,java,log4j,slf4j,Java,Log4j,Slf4j,我有一个初始化记录器的应用程序,如下所示: import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Main { private static Logger logger = LoggerFactory.getLogger(Main.class); public static void main(String[] args) { logger.info("Logging some

我有一个初始化记录器的应用程序,如下所示:

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class Main {
    private static Logger logger = LoggerFactory.getLogger(Main.class);
    public static void main(String[] args) {
        logger.info("Logging something");
    }
}
我希望它从
log4j.properties
文件中读取日志配置。我发现我可以通过显式调用
org.apache.log4j.PropertyConfigurator
来实现这一点,但我被告知应用程序应该能够自动找到属性文件


是否有办法运行应用程序,以便SLF4J从属性文件自动配置log4j?

需要查找配置文件的不是SLF4J,而是facade后面的实现。您使用的是Log4J还是Log4J2?@Slaw,我使用的是log4j1.2.17请注意,log4j1.x从2015年起就已经过时了。如果你对代码库有控制,考虑切换到Log4J 2 .x(或者如果你不想和Apache呆在一起的话,其他一些日志记录框架)。也就是说,log4j1.x应该自动找到
log4j.properties
资源。这个资源在类路径的根目录下吗?谢谢你的回复。我想我找到了问题所在。我们部署的JAR文件有自己的log4j.properties,它覆盖了稍后出现在类路径中的文件。调整类路径应该会起作用。请查看这是否有效。org.slf4j slf4j-log4j12 1.7.30测试