Open In App

Logger setResourceBundle() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

setResourceBundle() method of a Logger class used to set a resource bundle on this logger.we have to pass resource bundle object as a parameter to this method.After setting resource bundle all messages will be logged using the given resource bundle for its specific locale.
Syntax: 
 

public void setResourceBundle(ResourceBundle bundle)

Parameters: This method accepts one parameter bundle which represents resource bundle that this logger shall use.
Return value: This method returns nothing.
Exception: This method throws following Exceptions: 
 

  • NullPointerException – if the given bundle is null.
  • IllegalArgumentException – if the given bundle doesn’t have a base name, or if this logger already has a resource bundle set but the given bundle has a different base name.
  • SecurityException – if a security manager exists, this logger is not anonymous, and the caller does not have LoggingPermission(“control”). 
     

Below programs illustrate the setResourceBundle() method: 
Program 1: 
 

Java




// Java program to demonstrate
// Logger.setResourceBundle() method
 
import java.util.logging.*;
import java.util.ResourceBundle;
 
public class GFG {
 
    private static Logger logger
        = Logger.getLogger(
            GFG
                .class
                .getPackage()
                .getName());
 
    public static void main(String args[])
    {
 
        // Create ResourceBundle using getBundle
        // myResource is a properties file
        ResourceBundle bundle
            = ResourceBundle
                  .getBundle("myResource");
 
        // Set ResourceBundle to logger
        logger.setResourceBundle(bundle);
 
        // Log the ResourceBundle Name details
        logger.info("Resource Bundle "
                    + logger.getResourceBundleName());
    }
}


Output: 
For the above program, there is a properties file name resourceBundle.properties. we have to add this file alongside the class to execute the program. 
The output printed on console of Eclipse is shown below- 
 

Program 2: 
 

Java




import java.util.ResourceBundle;
// Java program to demonstrate
// Logger.setResourceBundle() method
 
import java.util.logging.Logger;
 
public class GFG {
 
    private static Logger logger
        = Logger.getLogger(
            GFG
                .class
                .getPackage()
                .getName());
 
    public static void main(String args[])
    {
 
        // Create ResourceBundle using getBundle
        // Resource is a properties file
        ResourceBundle resbundle
            = ResourceBundle.getBundle("resourceBundle");
 
        // Set ResourceBundle to logger
        logger.setResourceBundle(resbundle);
 
        // Log the ResourceBundle Name details
        System.out.println("Resource Bundle Name - "
                           + logger.getResourceBundleName()
                           + " and Locale - "
                           + logger
                                 .getResourceBundle()
                                 .getKeys());
    }
}


Output: 
For the above program, there is a properties file name myResource. we have to add this file alongside the class to execute the program. 
output printed on console output is shown below- 
 

Reference: https://docs.oracle.com/javase/10/docs/api/java/util/logging/Logger.html#setResourceBundle(java.util.logging.Logger)
 



Last Updated : 29 Jun, 2021
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads