我为上课准备了一个记录器。 代码如下:
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
启用日志记录,我在.setLevel
和logger
上都调用了方法handler
。但是,当我执行代码并调用doStuff()
时,日志上没有输出。
可能相关的注释:
答案 0 :(得分:2)
添加处理程序
logger = Logger.getLogger(MyClass.class.getName());
logger.addHandler(handler);