Some text some message..
Back StreamHandler in Python 26 Jul, 2025

🔹 What is a StreamHandler in Python?

In Python’s built-in logging module, a StreamHandler is a logging handler that sends log messages to an output stream, such as:

  • The console (sys.stdout or sys.stderr)

  • Any other stream-like object (e.g., a file-like object)


✅ Why Use StreamHandler?

By default, Python logs go to the console using a stream handler. But when you want more control (e.g., log to both file and console, or change format), you can explicitly use StreamHandler.


🧪 Basic Example

import logging

# Create logger
logger = logging.getLogger("my_logger")
logger.setLevel(logging.DEBUG)

# Create console handler
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)

# Create and set format
formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
stream_handler.setFormatter(formatter)

# Add handler to logger
logger.addHandler(stream_handler)

# Log something
logger.info("This goes to the console via StreamHandler")

🧰 Components Involved

Component Description
StreamHandler() Sends logs to console or custom stream
setLevel() Controls minimum severity level
setFormatter() Formats the output
addHandler() Adds handler to a logger

📘 Related Handlers

  • FileHandler → sends logs to a file

  • SMTPHandler → sends logs via email

  • RotatingFileHandler → rotates logs after a size limit