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

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file double-stream-handler-1.0.0.tar.gz.

File metadata

  • Download URL: double-stream-handler-1.0.0.tar.gz
  • Upload date:
  • Size: 3.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.4.0-1047-azure

File hashes

Hashes for double-stream-handler-1.0.0.tar.gz
Algorithm Hash digest
SHA256 93c3c8c096296caddb90c2bee0eabfcbea63dbc0fbaf30894554b36443703ce7
MD5 d68c2f6c772d73f28473692a96129624
BLAKE2b-256 0c7b07f715572e9bfe5ddbf9928e1774688b1cd18b817bb6e4f97ab8e12f1d3f

See more details on using hashes here.

File details

Details for the file double_stream_handler-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for double_stream_handler-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 37dad2bc3bd62a3cc13c7a110efda35344bbbce3a97c945d3b58fe708753fb81
MD5 141bd130692536f3a80ef76eb4d1959c
BLAKE2b-256 43c53dbd1affc2533ad69766d8430a2ffae481a8ee2bb3a42b2103604f0c5935

See more details on using hashes here.

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