logging
Prevent the logger send log messages to its parent logger
With this example we are going to demonstrate how to prevent the logger from sending log messages to its parent logger. When a Logger is used, it keeps track of a parent Logger, which is its nearest existing ancestor in the Logger namespace. By default, the logger publishes to its parent’s Handler. To prevent the logger from sending log messages to its parent Logger you should:
- Create a Logger instance for the named subsystem.
- Invoke its
setUseParentHandlers(boolean useParentHandlers)
API method and parameter set to false, so that the logger will not send its output to its parent Logger. - Also invoke the
addHandler(Handler handler)
API method of the Logger so as to specify a Handler for this logger instance.
Let’s take a look at the code snippet that follows:
package com.javacodegeeks.snippets.core; import java.util.logging.Logger; import java.util.logging.ConsoleHandler; public class NoParentLoggerExample { public static void main(String[] args) { Logger logger = Logger.getLogger(NoParentLoggerExample.class.getName()); // Do not send any log messages the the logger parent handlers. logger.setUseParentHandlers(false); // Specify a ConsoleHanlder for this logger instance. logger.addHandler(new ConsoleHandler()); logger.info("Logging an info message."); } }
Output:
Αυγ 12, 2012 1:51:33 ΜΜ com.javacodegeeks.snippets.core.NoParentLoggerExample main
INFO: Logging an info message.
This was an example of how to prevent the logger from sending log messages to its parent logger in Java.