当您不为log4j2提供配置时,我们都熟悉此消息:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.如何检查log4j2是否尚未配置,以便在需要时可以使用默认配置进行初始化?
发布于 2015-06-16 21:58:52
最后,我创建了自己的ConfigurationFactory并将其注册到
-Dlog4j.configurationFactory这样,您的ConfigurationFactory就可以知道它是否已经被调用了。
发布于 2015-06-01 22:42:37
在应用程序对log4j2代码的第一次调用中,log4j将在该方法返回之前配置自己。如果没有找到配置文件,log4j将使用默认配置自动配置,该配置只将错误记录到控制台。因此,从应用程序的角度来看,从来没有不配置log4j的时间。
一种方法是检查log4j2.xml文件是否在类路径中(使用Class.getResource),以及它是否调用System.setProperty("log4j.configurationFile", pathToYourConfig)。请注意,这必须在第一次调用log4j2 API之前完成。
另一种选择:
一旦您有了一个LoggerContext,就可以调用context.setConfigLocation(configLocation),其中configLocation是一个URI。这将强制进行重新配置。
https://stackoverflow.com/questions/30583836
复制相似问题