當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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