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.1579232358

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.1579232358
File Size Uploaded
logx-0.1.1579232358.tar.gz 4.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for logx 0.1.1579232358
File Interpreter ABI Platform
logx-0.1.1579232358-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 8.8 kB

Release files / logx-0.1.1579232358.tar.gz

Download URL logx-0.1.1579232358.tar.gz
Size 4.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d446090097ac83707d79b1df98ff977ff7172721a4b63a5d407e3d08cf171e15
BLAKE2b-256 checksum
How to use checksums
a334e155c7865cb52120190def8bbe76e874f7a8100567ca7d66009cd6dab078
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.2 CPython/3.8.1 Linux/4.15.0-1052-aws

Release files / logx-0.1.1579232358-py2.py3-none-any.whl

Download URL logx-0.1.1579232358-py2.py3-none-any.whl
Size 4.7 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
a997b13909e059d9ce98e767927af469272bec9d7932516cab6d5267b4b50585
BLAKE2b-256 checksum
How to use checksums
def95ac02f2ff0ce20e9ce7f5c44742ed713f498db6b0e07be13b0225af15f0d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.0.2 CPython/3.8.1 Linux/4.15.0-1052-aws

Release history Release notifications | RSS feed

This release

0.1.1579232358 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