Skip to main content

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


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.1562053912.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

logx-0.1.1562053912-py2.py3-none-any.whl (4.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file logx-0.1.1562053912.tar.gz.

File metadata

  • Download URL: logx-0.1.1562053912.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.16 CPython/3.7.3 Linux/4.15.0-1043-aws

File hashes

Hashes for logx-0.1.1562053912.tar.gz
Algorithm Hash digest
SHA256 90c4872d57c7e08ac8b4027626c00ec1896edabbb9e727218c37c95748e47651
MD5 6e67c2e75f95264052e5ba441d289829
BLAKE2b-256 a0f987fb91698929bc37d880a5ea3282175407aa4d376de32750ab156a6ab094

See more details on using hashes here.

File details

Details for the file logx-0.1.1562053912-py2.py3-none-any.whl.

File metadata

  • Download URL: logx-0.1.1562053912-py2.py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.16 CPython/3.7.3 Linux/4.15.0-1043-aws

File hashes

Hashes for logx-0.1.1562053912-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c4982e9ae5791b130f2a4d51ac0871e2ef5b5f72b0093465c5bf3f7d6161ff5f
MD5 eb9538ef1b0abe9ddc458aba5b25c62a
BLAKE2b-256 04d9c9f2c30d17abb4b04f7879049936382b9e1f77114cc2264571a49d9cb5fd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page