best practice python logging with zero config
logx: best practice python logging with zero config
Configuring logging is tedious. Reading the logging module docs makes me tired.
Wouldn't it be nice to log as easily as doing a print statement, without any upfront config?
logx. It's as simple as:
>>> from logx import log >>> log.info('hello world') hello world >>> log.set_default_format() >>> log.warn('warning!') [2018-02-26 21:51:16,971] WARNING [__main__.<module>:1] warning!
Logs get logged automatically to the logger whose name matches the current module.
List of sweet features
- Creates loggers lazily/as needed/on demand and logs to the appropriate logger automatically. If you're in the "acme" module it'll log to a log called "acme", no need worry about logger names and instances.
- Shows all log messages by default, which follows the principle of least surprise and is probably what you want when debugging.
- Included default handler logs to the appropriate standard output stream by default: Errors and warnings to stderr, the rest to stdout.
- Allows easy following of best practice when including log statements in a library: Just call log.create_null_handler() in your module.
- Uses the standard logging library, so you can still customize your setup as much as you want/need. Plays nicely with your existing logging config files.
- Includes the very useful logging_tree module for viewing your current logging configuration.
>>> pip install logx
Issues and pull requests welcome, hit me. Am I doing logging completely wrong? Critique welcome, even if very pedantic.
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 logx-0.1.1562053912-py2.py3-none-any.whl (4.5 kB)||File type Wheel||Python version py2.py3||Upload date||Hashes View hashes|
|Filename, size logx-0.1.1562053912.tar.gz (3.8 kB)||File type Source||Python version None||Upload date||Hashes View hashes|
Hashes for logx-0.1.1562053912-py2.py3-none-any.whl