解释代码:logger.addHandler(handler)
时间: 2023-05-29 19:05:02 浏览: 151
这行代码的作用是将一个handler对象添加到logger对象中,用于处理logger对象产生的日志消息。在这个过程中,当logger对象产生一个日志消息时,会将该消息传递给handler对象处理,例如将消息写入文件、打印到控制台等。这样可以将日志消息记录在多个不同的地方,便于分析和调试。
相关问题
logger.addHandler(sh)
logger.addHandler(sh) 是用于给 logger 实例添加处理器(handler)的方法。其中 logger 表示要添加处理器的 logger 实例,sh 表示要添加的处理器实例(例如 StreamHandler)。通过添加处理器,可以将日志消息输出到指定的目标,例如文件、控制台等。当 logger 实例接收到一个日志消息时,它会将该消息发送到所有已添加的处理器中,让处理器将消息输出到指定的目标。例如,当 logger 实例接收到一个 ERROR 级别的日志消息时,它会将该消息通过所有已添加的处理器发送出去,让处理器将消息输出到指定的目标上。
Caused by: java.lang.IllegalArgumentException: No handlers
Caused by: java.lang.IllegalArgumentException: No handlers是Java中常见的异常之一,通常是由于缺少处理程序而导致的。这个异常通常发生在使用日志记录器时,因为没有为日志记录器配置处理程序。要解决这个问题,你需要为日志记录器配置处理程序。以下是一个Java日志记录器的示例配置:
```java
import java.util.logging.*;
public class MyLogger {
private static final Logger LOGGER = Logger.getLogger(MyLogger.class.getName());
public static void main(String[] args) {
Handler consoleHandler = new ConsoleHandler();
LOGGER.addHandler(consoleHandler);
LOGGER.log(Level.INFO, "Hello World!");
}
}
```
在这个示例中,我们创建了一个名为MyLogger的日志记录器,并将控制台处理程序添加到该记录器中。然后,我们使用日志记录器记录了一条信息。这应该可以解决Caused by: java.lang.IllegalArgumentException: No handlers异常。
阅读全文