1

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

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 日下午 1:46:31 logchecker.Logchecker main

信息:测试

它显然不输出log.finest. 我错过了什么?我正在使用 NetBeans 7.3 运行。

4

1 回答 1

1

我还需要设置我的 Handlers 级别。在我的 main 中添加了以下代码:

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

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

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

于 2013-09-24T08:43:49.580 回答