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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
93c3c8c096296caddb90c2bee0eabfcbea63dbc0fbaf30894554b36443703ce7
|
|
| MD5 |
d68c2f6c772d73f28473692a96129624
|
|
| BLAKE2b-256 |
0c7b07f715572e9bfe5ddbf9928e1774688b1cd18b817bb6e4f97ab8e12f1d3f
|
File details
Details for the file double_stream_handler-1.0.0-py3-none-any.whl.
File metadata
- Download URL: double_stream_handler-1.0.0-py3-none-any.whl
- Upload date:
- Size: 3.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.6 CPython/3.9.5 Linux/5.4.0-1047-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37dad2bc3bd62a3cc13c7a110efda35344bbbce3a97c945d3b58fe708753fb81
|
|
| MD5 |
141bd130692536f3a80ef76eb4d1959c
|
|
| BLAKE2b-256 |
43c53dbd1affc2533ad69766d8430a2ffae481a8ee2bb3a42b2103604f0c5935
|