繁体   English   中英

为什么 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()时,日志上不会出现 output 。

可能相关的注释:

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

添加处理程序

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM