belogging 0.1.3

Last updated:

0 purchases

belogging 0.1.3 Image
belogging 0.1.3 Images
Add to Cart

Description:

belogging 0.1.3

Don’t fight with logging …


Easy logging configuration based on environment variables.
Features:


Set logging level using environment variable LOG_LEVEL (defaults to ‘INFO’)
Set which loggers to enable using environment variable LOGGERS (defaults to ‘’, everything)
Always output to stdout
Optional JSON formatter
Completely disable logging setting LOG_LEVEL=DISABLED


Requirements:


Python 3.5 and beyond


Install:

pip install belogging


Examples:

Simple applications:
# my_script.py

import belogging
belogging.load()
# ^^ this call is optional, only useful for customization
# For example, to enable JSON output: belogging.load(json=True)

# belogging.getLogger is just a sugar to logging.getLogger, you can
# use logging.getLogger as usual (and recommended).
logger = belogging.getLogger('foobar')
logger.debug('test 1')
logger.info('test 2')
Executing:
# selecting LOG_LEVEL
$ LOG_LEVEL=DEBUG python my_script.py
# level=DEBUG message=test 1
# level=INFO message=test 2

# selecting LOGGERS
$ LOGGERS=foobar python my_script.py
# Both messages

# Both
$ LOGGERS=foobar LOG_LEVEL=INFO my_script.py
# only level=INFO message=test 2
Applications should call `belogging.load()` upon initialization.
The first `__init__.py` would be a good candidate, but anything before any call to
`logging` module will be fine.


Django:
In your projects `settings.py`:
import belogging
# Disable django logging setup
LOGGING_CONFIG = None
belogging.load()
Inside your code, just use `logging.getLogger()` as usual.
$ export LOG_LEVEL=WARNING
$ ./manage.py runserver
# It will output only logging messages with severity > WARNING
Logging follows a hierarchy, so you easily select or skip some logging messages:
$ export LOGGERS=my_app.critical_a,my_app.critical_c,my_lib
$ ./my-app.py
# "my_app.critical_b messages" will be skipped
# all messages from my_lib will show up



Changelog:


0.1.3

Fix duplication filter: use formatted log message to detect duplication
(thanks to @rodjjo)



0.1.2

Add missing tests asserts
Add lock for dealing with OrderedDict self._cache



0.1.1

Workaround to prevent KeyError exception in LoggerDuplicationFilter



0.1.0

Add JSON formatter
Minor improvements



0.0.2

Added LoggerDuplicationFilter and enable_duplication_filter option
Added belogging.getLogger (sugar to logging.getLogger)



0.0.1

Initial release

License:

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.