我有一些代码有时会从我自己的Main方法调用,有时它嵌入在别人的程序中。在配置日志记录时,我希望能够检测到某人已经配置了Java Util Logging,如果有,那么我想跳过我的配置。我有这个方法:
public static boolean isLoggingAlreadyConfigured(){
Logger logger = Logger.getLogger("");
Handler[] handlers = logger.getHandlers();
return handlers != null && handlers.length > 1;
}
但我认为这是不可靠的。
你能提出更好的建议吗?
答案 0 :(得分:3)
简单的答案是java.util日志记录总是配置。
LogManager
javadoc表示它是一个自动创建的全局对象,并且它是根据几个系统属性所说的自动配置的,或者(如果属性是未设置)使用内置日志记录属性配置。 (有关详细信息,请参阅javadoc)。最重要的是,您将永远不会看到记录器处于“未配置”状态。
您可以在默认情况下弄清楚JRE的内置日志记录属性配置是什么,并测试当前配置是否不同。但这种方法存在一些问题:
最重要的