A logger manager for Python programs
Project description
logcontrol: A logger manager for Python programs
- It provides:
Centralized control of log level (per-group)
- Original use case:
Python GUI program containing many packages and modules
Each source file that logs creates a proper logger for use within that file
e.g. logger = logging.getLogger(__name__)
This allows a good logging hierarchy for control at a central point
I wanted to simplify enabling debug level for specific packages or groups
- Installation:
pip install logcontrol
(Tested for Python >=3.6.5 on Linux (Ubuntu) and Windows 7/10)
- Usage:
example (where otherpackage and anotherpackage are example names):
# imports of fictitious packages import otherpackage import anotherpackage import logging import logcontrol # Register loggers you wish to control. # You can have user-friendly names for the groups if you wish: logcontrol.register_logger(otherpackage.logger, group='Other Package') # Set output file for the root logger: logcontrol.set_log_file('main_log.txt') # Enable specific log levels per-group: logcontrol.set_level(logging.DEBUG, group='Other Package') # Make specific groups log to console while debugging: logcontrol.log_to_console(group='Other Package') # You can even disable or enable propagation per-group: logcontrol.disable_propagation(group='Other Package') logcontrol.enable_propagation(group='Other Package') # Loggers added to the same group will get the same configuration. # This would automatically set DEBUG level and attach the console logging handler: logcontrol.register_logger(anotherpackage.module.logger, group='Other Package') # You can get a dict of group names with level names (good for populating a debug/log control popup): logcontrol.group_level_names() # For convenience, the predefined log levels are available: # - as integers via logcontrol.log_level_integers # - as strings via logcontrol.log_level_strings # # This makes it easy to display them in a combo box for users to choose.
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
Built Distribution
File details
Details for the file logcontrol-0.2.1.tar.gz
.
File metadata
- Download URL: logcontrol-0.2.1.tar.gz
- Upload date:
- Size: 21.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec1ff8802fcf28841aff990d3c1941eb7334b2bf4bf8845118592ea2408b6207 |
|
MD5 | c04eba57684b63250d5be5c60cd792a9 |
|
BLAKE2b-256 | 71fc00a16885f792b935eb6cacd1306ea69973d62859e6377da64c23c9e01997 |
File details
Details for the file logcontrol-0.2.1-py3-none-any.whl
.
File metadata
- Download URL: logcontrol-0.2.1-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.6.9
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83a26882d78f1bc3928841ef05e8dd856270a3adf8c7e5f4c165656abf2d4024 |
|
MD5 | afdd58dbf0bf72dc20a1946fe524bec4 |
|
BLAKE2b-256 | ef661d4bf80cd1ce85c2ddf8ae5ec41419796b17693c2aa9b1a7e67b2c96efe3 |