ConsoleHandler

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).

Scroll to Top