首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查是否配置了log4j2

如何检查是否配置了log4j2
EN

Stack Overflow用户
提问于 2015-06-01 21:44:36
回答 2查看 3K关注 0票数 1

当您不为log4j2提供配置时,我们都熟悉此消息:

代码语言:javascript
复制
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

如何检查log4j2是否尚未配置,以便在需要时可以使用默认配置进行初始化?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-06-16 21:58:52

最后,我创建了自己的ConfigurationFactory并将其注册到

代码语言:javascript
复制
-Dlog4j.configurationFactory

这样,您的ConfigurationFactory就可以知道它是否已经被调用了。

票数 1
EN

Stack Overflow用户

发布于 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。这将强制进行重新配置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30583836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档