Logger getLogger() Method in Java with Examples

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.

  1. 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.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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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");
        }
    }

    chevron_right

    
    

    The output printed on console is shown below.
    Output:

    Program 2:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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);
            }
        }
    }

    chevron_right

    
    

    The output printed on console is shown below.
    Output:

  2. 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.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:

    1. NullPointerException: if the passed name is null.
    2. MissingResourceException: if the resourceBundleName is non-null and no corresponding resource can be found.
    3. 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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    // 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");
        }
    }

    chevron_right

    
    

    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:



My Personal Notes arrow_drop_up

I am a Developer I love to code and bring my ideas alive

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.