Logging slf4j与log4j,没有配置文件,但我可以看到文件中的日志

Logging slf4j与log4j,没有配置文件,但我可以看到文件中的日志,logging,log4j,slf4j,Logging,Log4j,Slf4j,在使用slf4j和log4j的项目中工作(coa我可以看到所有需要的log4j jar文件,而不是使用环回或java logging util) 但我在任何地方都找不到任何配置文件(如xml文件)。 但我可以看到所有日志都转到一个启用调试级别的文件中。 我的问题是,这是log4j的默认行为吗?或者它必须存在某个配置文件? 如果我添加配置文件,正确的位置在哪里? 谢谢。默认配置是只将错误记录到控制台。(log4j2) rootlogger默认为debug,但它只是带有基本配置程序(log4j1)的

在使用slf4j和log4j的项目中工作(coa我可以看到所有需要的log4j jar文件,而不是使用环回或java logging util) 但我在任何地方都找不到任何配置文件(如xml文件)。 但我可以看到所有日志都转到一个启用调试级别的文件中。 我的问题是,这是log4j的默认行为吗?或者它必须存在某个配置文件? 如果我添加配置文件,正确的位置在哪里?
谢谢。

默认配置是只将错误记录到控制台。(log4j2)

rootlogger默认为debug,但它只是带有基本配置程序(log4j1)的控制台

从官方文件

当无法找到默认配置文件log4j.properties和log4j.xml且应用程序未执行显式配置时,会发生这种情况。log4j使用Thread.getContextClassLoader().getResource()来定位默认配置文件,而不直接检查文件系统。要知道放置log4j.properties或log4j.xml的适当位置,需要了解正在使用的类加载器的搜索策略。log4j不提供默认配置,因为在某些环境中可能禁止向控制台或文件系统输出

如果您看不到配置文件(最有可能是log4j.xml),那么可以使用DOMConfigurator类在代码中对其进行配置,或者可以将配置文件指定为命令行参数(-Dlog4j.configurationFile,我认为对于log4j 1.x可能不同)

通常,您将配置文件放在类路径目录的根目录中。例如,主类是src/com/main.class,配置文件将位于src/文件夹中

我会搜索import语句import org.apache.log4j,如果您使用的是slf4j,那么除了自定义配置/日志记录之外,不应该有任何对该包的引用