Logger的log()方法用于记录消息。如果当前为给定的消息级别启用了记录器(作为参数传递),则创建相应的LogRecord并将其转发到所有已注册的输出处理程序对象。但是在记录器类中,根据传递给方法的参数,有七个不同的log()方法。
- 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"); } }
输出
- 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"); } }
- 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" }); } }
输出:
- 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")); } }
- 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); } }
输出:
- 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); } }
- 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#
相关用法
- Java Logger getLevel()用法及代码示例
- Java Logger setUseParentHandlers()用法及代码示例
- Java Logger setParent()用法及代码示例
- Java Logger setLevel()用法及代码示例
- Java Logger getLogger()用法及代码示例
- Java Logger getParent()用法及代码示例
- Java Logger config()用法及代码示例
- Java Logger fine()用法及代码示例
- Java Logger setResourceBundle()用法及代码示例
- Java Logger getHandler()用法及代码示例
- Java Logger entering()用法及代码示例
- Java Logger removeHandler()用法及代码示例
- Java Logger throwing()用法及代码示例
- Java Logger getFilter()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Logger log() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。