Skip to content
Sane Defaults for Python Logging
Python
Branch: master
Clone or download
Latest commit 706224d Aug 27, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
example
sanelogging
.gitignore
LICENSE
MANIFEST
Pipfile
Pipfile.lock
README.md
setup.py

README.md

sanelogging

Sane Defaults for Python Logging

The python stdlib logging module is useful, flexible, and configurable.

However, the maintainers have (quite reasonably) determined that python is an application runtime and not an application. The default configuration for the logging is thus not very useful, and this commonly results in boilerplate in your own programs.

This is an opinionated module for the 90% case where you just want sane defaults without that boilerplate. (In effect, moving it into PyPI.)

It Also Does Some Other Stuff

  • There are some convenience methods added, such as panic and die (c.f. golang and perl).

  • notice is aliased to info, for those who forget that python doesn't have a notice level (i.e. me).

  • If you set the environment variable LOG_TO_SYSLOG to something, it will print out your log messages on paper and mail them to you.

  • If stdout is a tty, log messages will be color-coded using the colorlog module.

Usage

from sanelogging import log

log.info("starting up!")

log.error("something went wrong.")

log.die("bailing out") # exits

print "no soup for you." # never reached

example output

Author

Jeffrey Paul <sneak@sneak.berlin>

https://sneak.berlin

@sneakdotberlin

5539 AD00 DE4C 42F3 AFE1 1575 0524 43F4 DF2A 55C2

License

This code is released into the public domain.

You can’t perform that action at this time.