我有一个java命令行工具,可以在最开始时关闭注销,然后解析命令行,之后可能再次打开日志记录,具体取决于命令行处理的结果。更改记录器可能会丢失
主要方法是这样开始的:
public static void main(final String[] args){
java.util.logging.LogManager.getLogManager().reset();
java.util.logging.Logger globalLogger = java.util.logging.Logger
.getLogger(java.util.logging.Logger.GLOBAL_LOGGER_NAME);
globalLogger.setLevel(java.util.logging.Level.OFF);
[... parse command line and possibly turn logging back on]
现在FindBugs的给予 “令人不安” 警告说:
更改记录器可在com.bmw.fnw丢失。 DBMainDialog.main(String [])
从Find Bugs Description 我下认为记录器可以在不应该时记录下来。
如何正确关闭记录仪?
无论您使用的是哪个JDK。运行该代码的人可能会使用OpenJDK。因此,无论您使用的是哪个JDK,都应该修复这个“bug”。 – Polygnome 2012-08-14 09:57:31
感谢您的回答。我做了我的记录器'私有最终静态',但现在FindBugs抱怨'globalLogger.setLevel(java.util.logging.Level.OFF);'具有相同的错误消息。现在我该怎么做? – bbuser 2012-08-14 14:23:28