📜  Java中的 Logger addHandler() 方法及示例

📅  最后修改于: 2022-05-13 01:54:26.232000             🧑  作者: Mango

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");
    }
}

控制台输出上打印的输出如下所示 -

addHandler(java.util.logging.Handler)

addHandler(Java.util.logging.Handler)

参考资料: https: Java Java.util.logging.Handler)