1. Create Parent and Child Loggers
This program demonstrates hierarchical logging by creating a parent logger and a child logger. The child logger inherits the logging behavior of the parent logger.
import java.util.logging.Logger;
public class ParentChildLoggerExample {
public static void main(String[] args) {
Logger parentLogger = Logger.getLogger("com.myapp");
Logger childLogger = Logger.getLogger("com.myapp.module");
parentLogger.info("Message from Parent Logger");
childLogger.info("Message from Child Logger");
}
}Output:
Aug 07, 2026 11:13:40 AM ParentChildLoggerExample main
INFO: Message from Parent Logger
Aug 07, 2026 11:13:40 AM ParentChildLoggerExample main
INFO: Message from Child LoggerCode language: CSS (css)
2. Set Logging Level for Parent Logger
This program demonstrates that a child logger inherits the logging level of its parent logger. Only log messages that satisfy the parent’s logging level are displayed.
import java.util.logging.Level;
import java.util.logging.Logger;
public class ParentLoggerLevelExample {
public static void main(String[] args) {
Logger parentLogger = Logger.getLogger("com.company");
Logger childLogger = Logger.getLogger("com.company.project");
parentLogger.setLevel(Level.WARNING);
childLogger.info("Information Message");
childLogger.warning("Warning Message");
childLogger.severe("Severe Error Message");
}
}Output:
Aug 07, 2026 11:15:54 AM ParentLoggerLevelExample main
WARNING: Warning Message
Aug 07, 2026 11:15:54 AM ParentLoggerLevelExample main
SEVERE: Severe Error MessageCode language: CSS (css)
3. Hierarchical Logging with Parent ConsoleHandler
This program demonstrates how a child logger inherits the handler attached to its parent logger. The parent logger uses a ConsoleHandler to display log messages generated by both loggers.
import java.util.logging.ConsoleHandler;
import java.util.logging.Level;
import java.util.logging.Logger;
public class HierarchicalHandlerExample {
public static void main(String[] args) {
Logger parentLogger = Logger.getLogger("com.college");
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.ALL);
parentLogger.addHandler(handler);
parentLogger.setUseParentHandlers(false);
parentLogger.setLevel(Level.ALL);
Logger childLogger = Logger.getLogger("com.college.student");
childLogger.info("Student Module Started");
childLogger.warning("Attendance Below 75%");
childLogger.severe("Student Record Not Found");
}
}Output:
Aug 07, 2026 11:17:43 AM HierarchicalHandlerExample main
INFO: Student Module Started
Aug 07, 2026 11:17:43 AM HierarchicalHandlerExample main
WARNING: Attendance Below 75%
Aug 07, 2026 11:17:43 AM HierarchicalHandlerExample main
SEVERE: Student Record Not FoundCode language: CSS (css)
