在Java中,全局记录器和根记录器之间有什么区别?
作者:互联网
在Java类java.util.logging.Logger中,全局和根记录器之间有什么区别?它们是一样的吗? Logger :: getGlobal方法返回全局记录器.并重复调用Logger :: getParent直到结果为null将产生根记录器.当我使用name参数的空字符串调用Logger :: getLogger时,它是返回全局记录器还是根记录器?
http://docs.oracle.com/javase/9/docs/api/java/util/logging/Logger.html
解决方法:
In the Java class java.util.logging.Logger, what is the difference between the global and the root loggers? Are they the same?
public static void main(String[] args) throws Exception {
System.out.println(Logger.getLogger(""));
System.out.println(Logger.getGlobal());
System.out.println(Logger.getGlobal().getParent());
}
例如输出:
java.util.logging.LogManager$RootLogger@27082746
java.util.logging.Logger@66133adc
java.util.logging.LogManager$RootLogger@27082746
如您所见,根记录器是全局记录器的父级.根记录器用于将级别传播到子记录器,并用于保存可捕获所有已发布日志记录的处理程序.全局记录器只是一个已保留用于因果关系的命名记录器.它是日志框架的System.out,因此仅将其用于丢弃代码.
Logger::getLogger with an empty string for the name argument, does this return the global logger or the root logger?
它返回根记录器.
标签:java,global,java-util-logging,logging 来源: https://codeday.me/bug/20190522/1153127.html