Logger类的getLogger()方法用于查找或创建记录器。如果存在使用传递的名称的记录器,则该方法将返回该记录器,否则该方法将使用该名称创建一个新的记录器并将其返回。
getLogger()方法有两种类型,具体取决于传递的参数数。
-
getLogger(java.lang.String):此方法用于查找或创建名称作为参数传递的记录器。如果记录器的名称不存在,它将创建一个新的记录器。如果使用此方法创建了新的记录器,则将根据LogManager配置配置其日志级别,并将其配置为还将日志记录输出发送至其父级的处理程序。它将在LogManager全局命名空间中注册。
用法:
public static Logger getLogger(String name)
参数:此方法接受单个参数名称,该名称是表示记录器名称的字符串。这应该是dot-separated名称,并且通常应基于子系统的程序包名称或类名称,例如java.net或javax.swing
返回值:此方法返回合适的Logger。
异常:如果传递的名称为null,则此方法将引发NullPointerException。
以下示例程序旨在说明getLogger(java.lang.String)方法:
示例1:// Java program to demonstrate // Logger.getLogger(java.lang.String) method import java.util.logging.*; public class GFG { public static void main(String[] args) { // Create a Logger with class name GFG Logger logger = Logger.getLogger(GFG.class.getName()); // Call info method logger.info("Message 1"); logger.info("Message 2"); } }
控制台上打印的输出如下所示。
输出:
示例2:
// Java program to demonstrate Exception thrown by // Logger.getLogger(java.lang.String) method import java.util.logging.*; public class GFG { public static void main(String[] args) { String LoggerName = null; // Create a Logger with a null value try { Logger logger = Logger.getLogger(LoggerName); } catch (NullPointerException e) { System.out.println("Exception Thrown: " + e); } } }
控制台上打印的输出如下所示。
输出:
-
getLogger(字符串名称,字符串resourceBundleName):此方法用于查找或创建带有传递名称的记录器。如果已经使用给定名称创建了记录器,则将其返回。否则,将创建一个新的记录器。如果具有传递名称的Logger已经存在并且没有本地化资源包,则给定的资源包名称将用作此Logger的本地化资源包。如果命名的Logger具有不同的资源束名称,则此方法将引发IllegalArgumentException。
用法:
public static Logger getLogger(String name, String resourceBundleName)
参数:此方法接受两个不同的参数:
- name:这是记录器的名称。该名称应该是dot-separated名称,并且通常应基于子系统的程序包名称或类名称,例如java.net或javax.swing
- resourceBundleName:这是用于为该记录器本地化消息的ResourceBundle的名称。
返回值:此方法返回合适的Logger。
异常:此方法将引发以下异常:
- NullPointerException :如果传递的名称为null。
- MissingResourceException:如果resourceBundleName为非null,并且找不到相应的资源。
- IllegalArgumentException:如果Logger已经存在并使用其他资源束名称;或者,如果resourceBundleName为null,但命名记录器设置了资源束。
以下示例程序旨在说明getLogger(String name,String resourceBundleName)方法:
示例1:
// Java program to demonstrate // getLogger(String name, String resourceBundleName) method import java.util.ResourceBundle; import java.util.logging.*; public class GFG { public static void main(String[] args) { // Create ResourceBundle using getBundle // myResource is a properties file ResourceBundle bundle = ResourceBundle .getBundle("resourceBundle"); // Create a Logger // with GFG.class and resourceBundle Logger logger = Logger.getLogger( GFG.class.getName(), bundle.getBaseBundleName()); // Log the info logger.info("Message 1 for logger"); } }
对于上述程序,有一个属性文件名resourceBundle。我们必须在类旁边添加此文件以执行程序。
输出:
参考文献:
- https://docs.oracle.com/javase/10/docs/api/java/util/logging/Logger.html#getLogger(java.lang.String, java.lang.String)
- https://docs.oracle.com/javase/10/docs/api/java/util/logging/Logger.html#getLogger(java.lang.String)
相关用法
- Java LogManager getLogger()用法及代码示例
- Java Logger log()用法及代码示例
- Java Logger getResourceBundle()用法及代码示例
- Java Logger getGlobal()用法及代码示例
- Java Logger getParent()用法及代码示例
- Java Logger isLoggable()用法及代码示例
- Java Logger getName()用法及代码示例
- Java Logger throwing()用法及代码示例
- Java Logger getLevel()用法及代码示例
- Java Logger exiting()用法及代码示例
- Java Logger entering()用法及代码示例
- Java Logger getFilter()用法及代码示例
- Java Logger getHandler()用法及代码示例
- Java Logger warning()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Logger getLogger() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。