当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java Logger getLogger()用法及代码示例


Logger类的getLogger()方法用于查找或创建记录器。如果存在使用传递的名称的记录器,则该方法将返回该记录器,否则该方法将使用该名称创建一个新的记录器并将其返回。

getLogger()方法有两种类型,具体取决于传递的参数数。

  1. 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); 
            } 
        } 
    }

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

  2. getLogger(字符串名称,字符串resourceBundleName):此方法用于查找或创建带有传递名称的记录器。如果已经使用给定名称创建了记录器,则将其返回。否则,将创建一个新的记录器。如果具有传递名称的Logger已经存在并且没有本地化资源包,则给定的资源包名称将用作此Logger的本地化资源包。如果命名的Logger具有不同的资源束名称,则此方法将引发IllegalArgumentException。

    用法:

    public static Logger getLogger(String name, String resourceBundleName)
    

    参数:此方法接受两个不同的参数:


    • name:这是记录器的名称。该名称应该是dot-separated名称,并且通常应基于子系统的程序包名称或类名称,例如java.net或javax.swing
    • resourceBundleName:这是用于为该记录器本地化消息的ResourceBundle的名称。

    返回值:此方法返回合适的Logger。

    异常:此方法将引发以下异常:

    1. NullPointerException :如果传递的名称为null。
    2. MissingResourceException:如果resourceBundleName为非null,并且找不到相应的资源。
    3. 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。我们必须在类旁边添加此文件以执行程序。
    输出:

参考文献:



相关用法


注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Logger getLogger() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。