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.
Filename, size | File type | Python version | Upload date | Hashes |
---|---|---|---|---|
Filename, size logcontrol-0.2.1-py3-none-any.whl (25.3 kB) | File type Wheel | Python version py3 | Upload date | Hashes View |
Filename, size logcontrol-0.2.1.tar.gz (21.8 kB) | File type Source | Python version None | Upload date | Hashes View |
Close
Hashes for logcontrol-0.2.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 83a26882d78f1bc3928841ef05e8dd856270a3adf8c7e5f4c165656abf2d4024 |
|
MD5 | afdd58dbf0bf72dc20a1946fe524bec4 |
|
BLAKE2-256 | ef661d4bf80cd1ce85c2ddf8ae5ec41419796b17693c2aa9b1a7e67b2c96efe3 |