Java中的 Logger addHandler() 方法及示例
Logger类的addHandler()方法,用于添加日志处理程序以接收日志消息。 Handler 是 JVM 的一个组件,负责将实际日志记录到已定义的输出编写器,如文件、控制台输出等。一个或多个 Handler 可以添加到 Logger。当使用 Logger 记录不同类型的消息时,日志将转发到 Handler 的输出。默认情况下,Logger 将其输出发送到其父 logger。因此我们可以说 Parent Logger 是子 logger 的一种处理程序。
句法:
public void addHandler(Handler handler)
throws SecurityException
参数:此方法接受一个代表日志处理程序的参数处理程序。
返回值:此方法不返回任何内容。
异常:如果安全管理器存在,此记录器不是匿名的,并且调用者没有 LoggingPermission(“控制”),则此方法抛出SecurityException 。
下面的程序说明了 isLoggable() 方法:
方案一:
Java
// Java program to demonstrate
// Logger.addHandler() method
import java.util.logging.*;
import java.io.IOException;
public class GFG {
private static Logger logger
= Logger.getLogger(
GFG.class.getName());
public static void main(String args[])
throws SecurityException, IOException
{
// Create a file handler object
FileHandler handler = new FileHandler("logs.txt");
// Add file handler as
// handler of logs
logger.addHandler(handler);
// Log message
logger.info("This is Info Message ");
logger.log(Level.WARNING,
"Warning Message");
}
}
Java
// Java program to demonstrate
// Logger.addHandler() method
import java.util.logging.*;
import java.io.IOException;
public class GFG {
private static Logger logger
= Logger.getLogger(
GFG.class.getName());
public static void main(String args[])
throws SecurityException, IOException
{
// Create a ConsoleHandler object
ConsoleHandler handler
= new ConsoleHandler();
// Add console handler as
// handler of logs
logger.addHandler(handler);
// Log message
logger.info("This is Info Message ");
logger.log(Level.WARNING, "Warning Message");
}
}
输出:
打印在 logs.txt 文件上的输出如下所示 -
方案二:
Java
// Java program to demonstrate
// Logger.addHandler() method
import java.util.logging.*;
import java.io.IOException;
public class GFG {
private static Logger logger
= Logger.getLogger(
GFG.class.getName());
public static void main(String args[])
throws SecurityException, IOException
{
// Create a ConsoleHandler object
ConsoleHandler handler
= new ConsoleHandler();
// Add console handler as
// handler of logs
logger.addHandler(handler);
// Log message
logger.info("This is Info Message ");
logger.log(Level.WARNING, "Warning Message");
}
}
控制台输出上打印的输出如下所示 -
参考资料: https: Java Java.util.logging.Handler)