java.util.logging:动态设置日志级别



我正在尝试以下代码示例(基于此处的代码)。我的目标是从运行时设置日志记录的级别。

package logchecker;
import java.util.logging.*;
public class Logchecker {
    private static final Logger logger = Logger.getLogger(Logchecker.class.getName());
   public static void main(String[] args) {
      System.out.println("This logger's level is " + logger.getLevel());   // null
      logger.setLevel(Level.ALL);
      System.out.println("This logger's level is " + logger.getLevel());   // null
      logger.info("TEST");
      logger.finest("FINEST TEST");
   }
}

输出为:

此记录器的级别为空

此记录器的级别是 ALL

2013-9-17下午01:46:31 日志检查器。日志检查器主

信息:测试

它显然不会输出log.finest.我错过了什么?我运行的是 NetBeans 7.3。

我也需要设置我的处理程序级别。将以下代码添加到我的主代码:

Logger root = Logger.getLogger("");
Handler[] handlers = root.getHandlers();
for(Handler h: handlers){
    h.setLevel(Level.INFO);
}

当然,您可以将级别设置为所需的任何级别。

再次感谢评论将我引导至解决方案

最新更新