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?
Obligatory example
Enter 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.
logx.print_diagram()
Install
>>> pip install logx
Contribute
Issues and pull requests welcome, hit me. Am I doing logging completely wrong? Critique welcome, even if very pedantic.
Metadata
Release files for logx 0.1.1562053912
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| logx-0.1.1562053912.tar.gz | 3.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| logx-0.1.1562053912-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 8.3 kB
Release files / logx-0.1.1562053912.tar.gz
| Download URL | logx-0.1.1562053912.tar.gz |
|---|---|
| Size | 3.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
90c4872d57c7e08ac8b4027626c00ec1896edabbb9e727218c37c95748e47651
|
|
BLAKE2b-256 checksum How to use checksums |
a0f987fb91698929bc37d880a5ea3282175407aa4d376de32750ab156a6ab094
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.16 CPython/3.7.3 Linux/4.15.0-1043-aws
|
Release files / logx-0.1.1562053912-py2.py3-none-any.whl
| Download URL | logx-0.1.1562053912-py2.py3-none-any.whl |
|---|---|
| Size | 4.5 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
c4982e9ae5791b130f2a4d51ac0871e2ef5b5f72b0093465c5bf3f7d6161ff5f
|
|
BLAKE2b-256 checksum How to use checksums |
04d9c9f2c30d17abb4b04f7879049936382b9e1f77114cc2264571a49d9cb5fd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/0.12.16 CPython/3.7.3 Linux/4.15.0-1043-aws
|