The LogManager
class in the java.util.logging
package is responsible for:
- Managing the global logging configuration.
- Creating and maintaining the Logger namespace.
- Loading configuration files (e.g.,
logging.properties
). - Controlling how loggers are initialized and accessed across the application.
It acts as the central manager for all logging resources in a Java program.
Commonly Used Methods

Simple Program: Register and Retrieve Logger Using LogManager
import java.util.logging.*; public class LogManagerSimpleExample { public static void main(String[] args) { LogManager logManager = LogManager.getLogManager(); Logger myLogger = Logger.getLogger("MyCustomLogger"); myLogger.setLevel(Level.INFO); logManager.addLogger(myLogger); // Register logger Logger retrievedLogger = logManager.getLogger("MyCustomLogger"); retrievedLogger.info("This logger was retrieved via LogManager."); } }
Problem Statement:
LotusJavaPrince and Mahesh are developing a secure banking portal. They want a centralized logging configuration to control the behavior of all loggers across the app using a .properties
file. They decide to use LogManager
to load this configuration dynamically at runtime.
Configuration File: custom_logging.properties
handlers= java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
com.bank.level = FINE
import java.io.FileInputStream; import java.io.IOException; import java.util.logging.*; public class BankingLoggerWithConfig { public static void main(String[] args) { try { LogManager logManager = LogManager.getLogManager(); FileInputStream configFile = new FileInputStream("custom_logging.properties"); logManager.readConfiguration(configFile); System.out.println("Custom logging configuration loaded."); Logger logger = Logger.getLogger("com.bank"); logger.finest("FINEST log (debug level - won't show if level is higher)"); logger.fine("FINE log - for internal processing"); logger.info("INFO log - visible to business users"); logger.warning("WARNING - something is off!"); logger.severe("SEVERE - something is broken!"); } catch (IOException e) { System.err.println("Failed to load logging configuration: " + e.getMessage()); } } }
Output on Console (based on config)
Custom logging configuration loaded.
May 24, 2025 3:00:00 PM BankingLoggerWithConfig main
FINE: FINE log - for internal processing
May 24, 2025 3:00:00 PM BankingLoggerWithConfig main
INFO: INFO log - visible to business users
May 24, 2025 3:00:00 PM BankingLoggerWithConfig main
WARNING: WARNING - something is off!
May 24, 2025 3:00:00 PM BankingLoggerWithConfig main
SEVERE: SEVERE - something is broken!
Code language: CSS (css)
LogManager
is the heart of Java’s logging system. It controls Logger registration,Logger hierarchy,Configuration loading.Useful for enterprise apps where centralized logging policies are required.