Logger getLogger() Method in Java with Examples

24 Apr, 2019
The getLogger() method of a Logger class used find or create a logger. If there is a logger exists with the passed name then the method will return that logger else method will create a new logger with that name and return it.There are two types of getLogger() method depending upon no of the parameter passed.
getLogger(java.lang.String): This method is used to find or create a logger with the name passed as parameter. It will create a new logger if logger does not exist with the passed name. If a new logger is created by this method then its log level will be configured based on the LogManager configuration and it will be configured to also send logging output to its parent’s Handlers. It will be registered in the LogManager global namespace.Syntax:public static Logger getLogger(String name)
Parameters: This method accepts a single parameter name which is the String representing name for the logger. This should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swingReturn value: This method returns a suitable Logger.Exception: This method will throw NullPointerException if the passed name is null.Below programs illustrate getLogger(java.lang.String) method:Program 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");    }}The output printed on console is shown below.Output:Program 2:// Java program to demonstrate Exception thrown by// Logger.getLogger(java.lang.String) methodimport 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);        }    }}The output printed on console is shown below.Output:getLogger(String name, String resourceBundleName): This method is used to find or creates a logger with the passed name. If a logger has already been created with the given name it is returned. Otherwise, a new logger is created. If the Logger with the passed name already exists and does not have a localization resource bundle then the given resource bundle name is used as a localization resource bundle for this logger. If the named Logger has a different resource bundle name then an IllegalArgumentException is thrown by this method.Syntax:public static Logger getLogger(String name, String resourceBundleName)
Parameters: This method accepts two different parameters:name: which is the name for the logger. This name should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swingresourceBundleName: which is the name of ResourceBundle to be used for localizing messages for this logger.Return value: This method returns a suitable Logger.Exception: This method will throws following Exceptions:NullPointerException: if the passed name is null.MissingResourceException: if the resourceBundleName is non-null and no corresponding resource can be found.IllegalArgumentException: if the Logger already exists and uses a different resource bundle name; or if resourceBundleName is null but the named logger has a resource bundle set.Below programs illustrate getLogger(String name, String resourceBundleName) method:Program 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");    }}For the above program, there is a properties file name resourceBundle. we have to add this file alongside the class to execute the program.Output:
getLogger(java.lang.String): This method is used to find or create a logger with the name passed as parameter. It will create a new logger if logger does not exist with the passed name. If a new logger is created by this method then its log level will be configured based on the LogManager configuration and it will be configured to also send logging output to its parent’s Handlers. It will be registered in the LogManager global namespace.Syntax:public static Logger getLogger(String name)
Parameters: This method accepts a single parameter name which is the String representing name for the logger. This should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swingReturn value: This method returns a suitable Logger.Exception: This method will throw NullPointerException if the passed name is null.Below programs illustrate getLogger(java.lang.String) method:Program 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");    }}The output printed on console is shown below.Output:Program 2:// Java program to demonstrate Exception thrown by// Logger.getLogger(java.lang.String) methodimport 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);        }    }}The output printed on console is shown below.Output:
Syntax:
public static Logger getLogger(String name)

Parameters: This method accepts a single parameter name which is the String representing name for the logger. This should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swing
Return value: This method returns a suitable Logger.
Exception: This method will throw NullPointerException if the passed name is null.
Below programs illustrate getLogger(java.lang.String) method:Program 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");    }}
The output printed on console is shown below.Output:
Program 2:
// Java program to demonstrate Exception thrown by// Logger.getLogger(java.lang.String) methodimport 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);        }    }}
The output printed on console is shown below.Output:
getLogger(String name, String resourceBundleName): This method is used to find or creates a logger with the passed name. If a logger has already been created with the given name it is returned. Otherwise, a new logger is created. If the Logger with the passed name already exists and does not have a localization resource bundle then the given resource bundle name is used as a localization resource bundle for this logger. If the named Logger has a different resource bundle name then an IllegalArgumentException is thrown by this method.Syntax:public static Logger getLogger(String name, String resourceBundleName)
Parameters: This method accepts two different parameters:name: which is the name for the logger. This name should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swingresourceBundleName: which is the name of ResourceBundle to be used for localizing messages for this logger.Return value: This method returns a suitable Logger.Exception: This method will throws following Exceptions:NullPointerException: if the passed name is null.MissingResourceException: if the resourceBundleName is non-null and no corresponding resource can be found.IllegalArgumentException: if the Logger already exists and uses a different resource bundle name; or if resourceBundleName is null but the named logger has a resource bundle set.Below programs illustrate getLogger(String name, String resourceBundleName) method:Program 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");    }}For the above program, there is a properties file name resourceBundle. we have to add this file alongside the class to execute the program.Output:
Syntax:
public static Logger getLogger(String name, String resourceBundleName)

Parameters: This method accepts two different parameters:
name: which is the name for the logger. This name should be a dot-separated name and should normally be based on the package name or class name of the subsystem, such as java.net or javax.swing
resourceBundleName: which is the name of ResourceBundle to be used for localizing messages for this logger.
Return value: This method returns a suitable Logger.
Exception: This method will throws following Exceptions:
NullPointerException: if the passed name is null.MissingResourceException: if the resourceBundleName is non-null and no corresponding resource can be found.IllegalArgumentException: if the Logger already exists and uses a different resource bundle name; or if resourceBundleName is null but the named logger has a resource bundle set.
NullPointerException: if the passed name is null.
MissingResourceException: if the resourceBundleName is non-null and no corresponding resource can be found.
IllegalArgumentException: if the Logger already exists and uses a different resource bundle name; or if resourceBundleName is null but the named logger has a resource bundle set.
Below programs illustrate getLogger(String name, String resourceBundleName) method:
Program 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");    }}
For the above program, there is a properties file name resourceBundle. we have to add this file alongside the class to execute the program.Output:
References:
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 - util package
Java-Functions
Java-Logger
Java
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.