Skip to main content

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)

Source distribution for logx 0.1.1562053912
File Size Uploaded
logx-0.1.1562053912.tar.gz 3.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for logx 0.1.1562053912
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.1562053912 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page