Skip to main content

A StreamHandler wrapper that outputs messages to different streams based on logLevel

Project description

DoubleStreamHandler

A StreamHandler wrapper that outputs messages to different streams based on logLevel

See on PyPI Licenced under the BSD-3-Clause licence for Python 3.6 and later

Logging to the console is a nice feature to have, and Python's StreamHandler is of great help. However, it can only output to one stream at a time, and by default it's stderr.

This goes well with the default settings (level=WARNING), but it isn't good when you decide to output INFO messages as well.

This package prevents you from outputting non-error messages to stderr as well as from having to juggle with your output streams.

Usage

import logging
from double_stream_handler import DoubleStreamHandler

# create logger
logger = logging.getLogger()
logger.setLevel(logging.DEBUG)

# create the handler
ch = DoubleStreamHandler()

# you can customize the logger by providing different streams and level, from which
# the stderr output will start
from io import StringIO
custom_out, custom_err = (StringIO(), StringIO())
ch = DoubleStreamHandler(err_level=25, streams=(custom_out, custom_err))

# set handler's level and add it to the logger
ch.setLevel(logging.INFO)
logger.addHandler(ch)

logger.debug("This is not printed")
logger.info("This is printed to stdout")
logger.error("This is printed to stderr")

Install

Requirements: Python 3.6 or higher

This package is hosted on PyPI, so you can install it with your package manager of choice

# for Pip
pip install double-stream-handler
# for Pipenv
pipenv install double-stream-handler
# for Poetry
poetry add double-stream-handler
# for Poetry
conda install double-stream-handler

Licence

BSD-3-Clause © 2021, Nikita Karamov

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

double-stream-handler-1.0.0.tar.gz (3.9 kB view hashes)

Uploaded Source

Built Distribution

double_stream_handler-1.0.0-py3-none-any.whl (3.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page