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

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

Java中的 Logger setParent() 方法及示例

一个Logger类的setParent()方法,用来设置这个当前Logger的父Logger。我们要设置的父Logger作为参数传入。当命名空间发生变化时,LogManager 使用此方法更新 Logger。

句法:

public void setParent(Logger parent)

参数:此方法接受一个参数parent ,它代表新的父记录器。

返回值:此方法不返回任何内容。

异常:如果存在安全管理器并且调用者没有 LoggingPermission(“control”),则此方法抛出SecurityException

下面的程序说明了 setParent() 方法:
方案一:

// Java program to demonstrate
// Logger.setParent() method
  
import java.util.logging.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Create a logger1 using getLogger()
        Logger logger1
            = Logger.getLogger("com.java.core");
  
        // Assign other package to logger
        Logger logger2
            = Logger
                  .getLogger("com.java.core.api");
  
        // Set logger1 as parent to logger2
        logger2.setParent(logger1);
  
        // Print parent name
        System.out.println("logger2 parent name = "
                           + logger2
                                 .getParent()
                                 .getName());
    }
}

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

方案二:

// Java program to demonstrate
// Logger.setParent() method
  
import java.util.logging.*;
  
public class GFG {
  
    public static void main(String[] args)
    {
  
        // Create a logger1 using getLogger()
        Logger logger1
            = Logger.getLogger(GFG.class.getName());
  
        // Assign other package to logger
        Logger logger2
            = Logger
                  .getLogger(String.class.getName());
  
        // Set logger2 as parent to logger1
        logger1.setParent(logger2);
  
        // Print parent name
        System.out.println("logger1 parent name = "
                           + logger1
                                 .getParent()
                                 .getName());
    }
}

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

参考: https: Java Java.util.logging.Logger)