Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/djrobstep/logx
best practice, zero config python logging
https://github.com/djrobstep/logx
Last synced: about 2 months ago
JSON representation
best practice, zero config python logging
- Host: GitHub
- URL: https://github.com/djrobstep/logx
- Owner: djrobstep
- Created: 2018-02-26T10:41:28.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-01-17T03:37:39.000Z (over 4 years ago)
- Last Synced: 2024-07-20T00:56:47.551Z (2 months ago)
- Language: Python
- Size: 67.4 KB
- Stars: 43
- Watchers: 6
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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__.: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.