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

时间:2020-06-02 22:53:30

标签: java java.util.logging

我为上课准备了一个记录器。 代码如下:

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启用日志记录,我在.setLevellogger上都调用了方法handler。但是,当我执行代码并调用doStuff()时,日志上没有输出。

可能相关的注释:

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

1 个答案:

答案 0 :(得分:2)

添加处理程序

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