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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。