为什么 java.util.logging 没有将日志写入文件?

Why java.util.logging is not writing logs to file?

我已经为 class 准备了一个记录器。 代码如下:

public class MyClass {

    FileHandler handler;
    Logger logger;

    // SINGLETON PATTERN
    private static final MyClass SINGLE_INSTANCE = new MyClass();         
    private MyClass() {

      try {
        handler = new FileHandler("MyClass.log", false);
        logger = Logger.getLogger(MyClass.class.getName());
        handler.setLevel(Level.ALL);
        logger.setLevel(Level.ALL);
      } catch (IOException ioe) {
        System.err.println("Initialization of logger threw");
        ioe.printStackTrace();
        throw new RuntimeException("Initialization of logger threw", ioe);
      }

    }
    public static MyClass getInstance() {
      return SINGLE_INSTANCE;
    }    

    public void doStuff() {

        Logger.getLogger(MyClass.class.getName()).log(Level.FINE, "Log Text");

    }

}

为了启用 Level.FINE 的日志记录,我在 loggerhandler 上都调用了方法 .setLevel。但是当我执行代码并调用 doStuff() 时,日志中没有任何输出。

可能相关的注释:

  1. 文件存在,但大小为 0。
  2. 我正在使用 CONTROL+C 停止程序(它是一个控制台应用程序)。

添加处理程序

     logger = Logger.getLogger(MyClass.class.getName());
     logger.addHandler(handler);