Logger類的getLogger()方法用於查找或創建記錄器。如果存在使用傳遞的名稱的記錄器,則該方法將返回該記錄器,否則該方法將使用該名稱創建一個新的記錄器並將其返回。
getLogger()方法有兩種類型,具體取決於傳遞的參數數。
-
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); } } }
控製台上打印的輸出如下所示。
輸出:
-
getLogger(字符串名稱,字符串resourceBundleName):此方法用於查找或創建帶有傳遞名稱的記錄器。如果已經使用給定名稱創建了記錄器,則將其返回。否則,將創建一個新的記錄器。如果具有傳遞名稱的Logger已經存在並且沒有本地化資源包,則給定的資源包名稱將用作此Logger的本地化資源包。如果命名的Logger具有不同的資源束名稱,則此方法將引發IllegalArgumentException。
用法:
public static Logger getLogger(String name, String resourceBundleName)
參數:此方法接受兩個不同的參數:
- name:這是記錄器的名稱。該名稱應該是dot-separated名稱,並且通常應基於子係統的程序包名稱或類名稱,例如java.net或javax.swing
- resourceBundleName:這是用於為該記錄器本地化消息的ResourceBundle的名稱。
返回值:此方法返回合適的Logger。
異常:此方法將引發以下異常:
- NullPointerException :如果傳遞的名稱為null。
- MissingResourceException:如果resourceBundleName為非null,並且找不到相應的資源。
- 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。我們必須在類旁邊添加此文件以執行程序。
輸出:
參考文獻:
- https://docs.oracle.com/javase/10/docs/api/java/util/logging/Logger.html#getLogger(java.lang.String, java.lang.String)
- https://docs.oracle.com/javase/10/docs/api/java/util/logging/Logger.html#getLogger(java.lang.String)
相關用法
- Java LogManager getLogger()用法及代碼示例
- Java Logger log()用法及代碼示例
- Java Logger getResourceBundle()用法及代碼示例
- Java Logger getGlobal()用法及代碼示例
- Java Logger getParent()用法及代碼示例
- Java Logger isLoggable()用法及代碼示例
- Java Logger getName()用法及代碼示例
- Java Logger throwing()用法及代碼示例
- Java Logger getLevel()用法及代碼示例
- Java Logger exiting()用法及代碼示例
- Java Logger entering()用法及代碼示例
- Java Logger getFilter()用法及代碼示例
- Java Logger getHandler()用法及代碼示例
- Java Logger warning()用法及代碼示例
注:本文由純淨天空篩選整理自AmanSingh2210大神的英文原創作品 Logger getLogger() Method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。