best practice python logging with zero config
Project description
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.
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
logx-0.1.1579232358.tar.gz
(4.1 kB
view details)
Built Distribution
File details
Details for the file logx-0.1.1579232358.tar.gz
.
File metadata
- Download URL: logx-0.1.1579232358.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.2 CPython/3.8.1 Linux/4.15.0-1052-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d446090097ac83707d79b1df98ff977ff7172721a4b63a5d407e3d08cf171e15 |
|
MD5 | 7ab375936fe2e87e98181a31f11e73fa |
|
BLAKE2b-256 | a334e155c7865cb52120190def8bbe76e874f7a8100567ca7d66009cd6dab078 |
File details
Details for the file logx-0.1.1579232358-py2.py3-none-any.whl
.
File metadata
- Download URL: logx-0.1.1579232358-py2.py3-none-any.whl
- Upload date:
- Size: 4.7 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.0.2 CPython/3.8.1 Linux/4.15.0-1052-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a997b13909e059d9ce98e767927af469272bec9d7932516cab6d5267b4b50585 |
|
MD5 | 5cbba4cddc4465ec660bc60a82347bdf |
|
BLAKE2b-256 | def95ac02f2ff0ce20e9ce7f5c44742ed713f498db6b0e07be13b0225af15f0d |