You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Jeffrey Paul 706224da67 version bump 1.1.0 11 months ago
example now logs in iso8601 datetime format, with offset/Z 11 months ago
sanelogging now logs in iso8601 datetime format, with offset/Z 11 months ago
.gitignore initial commit 4 years ago
LICENSE initial commit 4 years ago
MANIFEST initial commit 4 years ago
Pipfile add pipfile/pipenv 11 months ago
Pipfile.lock add pipfile/pipenv 11 months ago
README.md Fix markdown 2 years ago
setup.py version bump 1.1.0 11 months ago

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.