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


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


Logger的log()方法用于记录消息。如果当前为给定的消息级别启用了记录器(作为参数传递),则创建相应的LogRecord并将其转发到所有已注册的输出处理程序对象。但是在记录器类中,根据传递给方法的参数,有七个不同的log()方法。

  1. log(Level level, String msg):此方法用于记录消息,不带参数。仅消息将写入记录器输出中。
    用法:
    public void log(Level level, String msg)
    

    参数:此方法接受两个参数级别,它们是消息级别标识符之一,例如SEVERE和msg,它是字符串消息(或消息目录中的键)。


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

    程序1:方法日志(级别,字符串,味精)

    // Java program to demonstrate 
    // Logger.log(Level level, String msg)  method 
      
    import java.util.logging.Level; 
    import java.util.logging.Logger; 
      
    public class GFG { 
      
        public static void main(String[] args) 
        { 
      
            // Create a Logger 
            Logger logger 
                = Logger.getLogger( 
                    GFG.class.getName()); 
      
            // log messages using log(Level level, String msg) 
            logger.log(Level.INFO, "This is message 1"); 
            logger.log(Level.WARNING, "This is message 2"); 
        } 
    }

    输出

  2. log(Level level, String msg, Object param1):此方法用于通过一个对象参数记录消息。

    用法:

    public void log(Level level, String msg, Object param1)
    

    参数:此方法接受三个参数级别,该级别是消息级别标识符之一,例如SEVERE,msg是字符串消息(或消息目录中的键)和param1是消息的参数

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

    程序2:方法日志(级别,字符串味精,对象参数1)

    // Java program to demonstrate 
    // Logger.log(Level level, String msg, Object param1) 
      
    import java.util.logging.Level; 
    import java.util.logging.Logger; 
      
    public class GFG { 
      
        public static void main(String[] args) 
        { 
      
            // Create a Logger 
            Logger logger 
                = Logger.getLogger( 
                    GFG.class.getName()); 
      
            // log messages using 
            // log(Level level, String msg, Object param1) 
            logger.log(Level.INFO, "logging: {0} ", "message1"); 
            logger.log(Level.SEVERE, "logging: {0} ", "message2"); 
        } 
    }

    输出:

  3. log(Level level, String msg, Object[] params):此方法用于记录带有对象参数数组的消息。

    用法:


    public void log(Level level, String msg, Object[] params)
    

    参数:此方法接受三个参数级别,这三个级别是消息级别的标识符之一,例如SEVERE,msg是字符串消息(或消息目录中的键)和param1是消息的参数数组

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

    程序3:方法日志(级别,字符串味精,对象[]参数1)

    // Java program to demonstrate 
    // Logger.log(Level level, String msg, Object[] param1) 
      
    import java.util.logging.Level; 
    import java.util.logging.Logger; 
      
    public class GFG { 
      
        public static void main(String[] args) 
        { 
      
            // Create a Logger 
            Logger logger 
                = Logger.getLogger( 
                    GFG.class.getName()); 
      
            // log messages using 
            // log(Level level, String msg, Object[] param1) 
            logger.log(Level.INFO, "logging: {0} {1}", 
                       new Object[] { "parameter1", "parameter2" }); 
            logger.log(Level.WARNING, "logging: {0} {1} {2}", 
                       new Object[] { "p1", "p2", "p3" }); 
        } 
    }

    输出:

  4. log(Level level, String msg, Throwable thrown):此方法用于记录带有关联的Throwable信息的消息。

    用法:

    public void log(Level level, String msg, Throwable thrown)
    

    参数:此方法接受三个参数级别,这三个级别是消息级别标识符之一,例如SEVERE,msg是字符串消息(或消息目录中的键),并且throw是与日志消息相关联的Throwable。

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

    程序4:方法日志(级别,字符串味精,可抛出Throwable)

    // Java program to demonstrate 
    // Logger.log(Level level, String msg, Throwable thrown) 
      
    import java.util.logging.Level; 
    import java.util.logging.Logger; 
      
    public class GFG { 
      
        public static void main(String[] args) 
        { 
      
            // Create a Logger 
            Logger logger 
                = Logger.getLogger( 
                    GFG.class.getName()); 
      
            // log messages using 
            // log(Level level, String msg, Throwable thrown) 
            logger.log(Level.SEVERE, "logging:", 
                       new RuntimeException("Error")); 
            logger.log(Level.WARNING, "logging: ", 
                       new Exception("Exception")); 
        } 
    }

    输出:


  5. log(Level level, Throwable thrown, Supplier msgSupplier):该方法用于记录带有相关Throwable信息的延迟构造的消息。消息和给定的Throwable然后存储在LogRecord中,该记录转发到所有已注册的Output处理程序。

    用法:

    public void log(Level level, Throwable thrown, Supplier msgSupplier)
    

    参数:此方法接受三个参数级别,这三个级别是消息级别标识符之一,例如SEVERE,throw是与日志消息关联的Throwable和msgSupplier是一个函数,在调用时会生成所需的日志消息。

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

    程序5:方法日志(级别,已抛出Throwable,供应商msgSupplier)

    // Java program to demonstrate 
    // Logger.log(Level level, Throwable thrown, Supplier<String> msgSupplier) 
      
    import java.util.function.Supplier; 
    import java.util.logging.Level; 
    import java.util.logging.Logger; 
      
    public class GFG { 
      
        public static void main(String[] args) 
        { 
      
            // Create a Logger 
            Logger logger 
                = Logger.getLogger( 
                    GFG.class.getName()); 
      
            // Create a supplier<String> method 
            Supplier<String> StrSupplier 
                = () -> new String("Logger logs"); 
      
            // log messages using 
            // log(Level level, Throwable thrown, Supplier<String> msgSupplier) 
            logger.log(Level.SEVERE, 
                       new RuntimeException("Error"), 
                       StrSupplier); 
        } 
    }

    输出:

  6. log(Level level, Supplier msgSupplier):此方法用于记录消息,仅在记录级别达到实际记录消息的水平时才构造该消息。

    用法:

    public void log(Level level, Supplier msgSupplier)
    

    参数:此方法接受两个参数级别,它们是消息级别标识符之一,例如SEVERE和msgSupplier,后者是一个函数,在调用时会生成所需的日志消息。

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

    程序6:方法日志(级别级别,供应商信息供应商)


    // Java program to demonstrate 
    // Logger.log(Level level, <String> msgSupplier) 
      
    import java.util.function.Supplier; 
    import java.util.logging.Level; 
    import java.util.logging.Logger; 
      
    public class GFG { 
      
        public static void main(String[] args) 
        { 
      
            // Create a Logger 
            Logger logger 
                = Logger.getLogger( 
                    GFG.class.getName()); 
      
            // Create a supplier<String> method 
            Supplier<String> StrSupplier 
                = () -> new String("Logger messages"); 
      
            // log messages using 
            // log(Level level, Supplier<String> msgSupplier) 
            logger.log(Level.SEVERE, 
                       StrSupplier); 
        } 
    }

    输出:

  7. log(LogRecord record):此方法用于记录LogRecord。使用logRecord,我们会将信息记录到logger输出中。

    用法:

    public void log(LogRecord record)
    

    参数:此方法接受一个参数记录,即要发布的LogRecord。

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

    程序7:方法日志(LogRecord记录)

    // Java program to demonstrate 
    // Logger.log(LogRecord record) 
      
    import java.util.logging.Level; 
    import java.util.logging.LogRecord; 
    import java.util.logging.Logger; 
      
    public class GFG { 
      
        public static void main(String[] args) 
        { 
      
            // Create a Logger 
            Logger logger 
                = Logger.getLogger( 
                    GFG.class.getName()); 
      
            // create logRecords 
            LogRecord record1 = new LogRecord(Level.INFO, 
                                              "Msg 1"); 
            LogRecord record2 = new LogRecord(Level.INFO, 
                                              "Msg 2"); 
      
            // log messages using 
            // log(LogRecord record) 
            logger.log(record1); 
            logger.log(record2); 
        } 
    }

    输出:

参考文献: https://docs.oracle.com/javase/10/docs/api/java/util/Logger.html#



相关用法


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