The ConsoleHandler is a built-in logging handler in the java.util.logging package that writes log messages to the console (System.err by default).It is commonly used during development and debugging to quickly view log output.
Key Features
- Writes logs to console in real time.
- Can be customized with formatters and log levels.
- Often used alongside or instead of
FileHandler.
Commonly Used Methods

Simple Program
import java.util.logging.*;
public class ConsoleHandlerDemo {
public static void main(String[] args) {
Logger logger = Logger.getLogger("console.logger");
logger.setUseParentHandlers(false); // Remove default handler
ConsoleHandler handler = new ConsoleHandler();
handler.setLevel(Level.INFO); // Only logs INFO and above
handler.setFormatter(new SimpleFormatter());
logger.addHandler(handler);
logger.setLevel(Level.ALL); // Logger accepts all levels
logger.finest("FINEST: Should not appear");
logger.fine("FINE: Should not appear");
logger.info("INFO: ConsoleHandler logs this");
logger.warning("WARNING: ConsoleHandler logs this");
}
}May 24, 2025 10:00:00 AM ConsoleHandlerDemo main
INFO: INFO: ConsoleHandler logs this
May 24, 2025 10:00:00 AM ConsoleHandlerDemo main
WARNING: WARNING: ConsoleHandler logs thisCode language: CSS (css)
Problem Statement
LotusJavaPrince and Mahesh are building a customer login module for a banking app. For real-time feedback during development, they want logs to appear in the console. They will use ConsoleHandler to print logs related to login attempts and suspicious behavior.
import java.util.logging.*;
public class CustomerLoginLogger {
private static final Logger loginLogger = Logger.getLogger("bank.login");
public static void main(String[] args) {
loginLogger.setUseParentHandlers(false); // Avoid duplicate logging
ConsoleHandler consoleHandler = new ConsoleHandler();
consoleHandler.setLevel(Level.ALL); // Show all logs
consoleHandler.setFormatter(new SimpleFormatter());
loginLogger.addHandler(consoleHandler);
loginLogger.setLevel(Level.ALL);
simulateLogin("LotusJavaPrince", true);
simulateLogin("Mahesh", false);
simulateLogin("UnknownUser", false);
}
private static void simulateLogin(String user, boolean success) {
if (success) {
loginLogger.info(user + " logged in successfully.");
} else if ("Mahesh".equals(user)) {
loginLogger.warning(user + " failed login attempt. Check activity.");
} else {
loginLogger.severe(user + " is not a recognized user.");
}
}
}
INFO: LotusJavaPrince logged in successfully.
WARNING: Mahesh failed login attempt. Check activity.
SEVERE: UnknownUser is not a recognized user.Code language: HTTP (http)
ConsoleHandler is ideal for development-time logging.You can customize level and format of logs.It does not write to files , only the console (System.err).
