使用带有log4j的slf4j处理项目(coa我可以看到所有需要的log4j jar文件。不使用loopback或java logging util。) 但我无法在任何地方找到任何配置文件(如xml文件)。 但我可以看到所有日志都转到DEBUG级别的文件。 我的问题是,这是log4j的默认行为吗?或者它必须存在于某处的配置文件? 如果我添加配置文件,哪里是正确的位置? 感谢。
答案 0 :(得分:1)
默认配置是仅将错误记录到控制台。(log4j2)
来自官方文件
当找不到默认配置文件log4j.properties和log4j.xml且应用程序不执行显式配置时,会发生这种情况。 log4j使用Thread.getContextClassLoader()。getResource()来定位默认配置文件,而不是直接检查文件系统。了解放置log4j.properties或log4j.xml的适当位置需要了解正在使用的类加载器的搜索策略。 log4j不提供默认配置,因为在某些环境中可能禁止输出到控制台或文件系统。
如果你看不到配置文件(最有可能是log4j.xml),可以使用DOMConfigurator类在代码中配置它,或者可以将配置文件指定为命令行参数(-Dlog4j.configurationFile我认为, log4j 1.x可能有所不同。
通常将配置文件放在classpath目录的根目录中,例如main类是src / com / Main.class,配置文件位于src /文件夹中。
我会搜索import语句import org.apache.log4j,如果你使用的是slf4j,除了自定义配置/日志记录外,不应该对这个包有任何引用