Extensions for the original logging module
Project description
JSONFormatter
Format logs as JSON lines
ThreadedHandler
Container of handlers for logging in a separate thread
Configuration example
in code
import logging
from logging_extension import ThreadedHandler, JSONFormatter
logging.basicConfig(level=logging.DEBUG)
logging.getLogger().handlers.clear()
handler = logging.StreamHandler()
formatter = JSONFormatter(fmt_keys=dict(
logger='name',
level='levelno'
))
handler.setFormatter(formatter)
threaded_handler = ThreadedHandler(stream_handler=handler)
logging.getLogger().addHandler(threaded_handler)
logging.getLogger().debug('debug_msg', extra={'extra': 'value'})
{"logger": "root", "level": 10, "created": "2024-05-11T16:48:30.478645+00:00", "message": "debug_msg", "extra": "value"}
via config
import logging.config
# Usually defined in .json or .yml file
config = {
"version": 1,
"disable_existing_handlers": False,
"formatters": {
"json_formatter": {
"()": "logging_extension.JSONFormatter",
"fmt_keys": {
"name": "name",
"level": "levelno",
"line": "lineno"
}
}
},
"handlers": {
"stream_handler": {
"class": "logging.StreamHandler",
"stream": "ext://sys.stdout",
"formatter": "json_formatter"
},
"threaded_handler": {
"()": "logging_extension.ThreadedHandler",
"stream_handler": "cfg://handlers.stream_handler"
}
},
"loggers": {
"root": {
"level": "DEBUG",
"handlers": [
"threaded_handler"
]
}
}
}
logging.config.dictConfig(config)
logging.getLogger().debug('debug_msg', extra={'extra': 'value'})
{"name": "root", "level": 10, "line": 39, "created": "2024-05-11T16:48:30.485113+00:00", "message": "debug_msg", "extra": "value"}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for logging_extension-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13ce7b2a53f16bb92d28e52bea760435a05bb5ec874beb06dd8216565aa380e4 |
|
MD5 | 080728bb9f404e3993c316d797d6210a |
|
BLAKE2b-256 | 91c69314e456d52f6b1a805c73c4003149dcf9ff45a90b168f3a5e601667817c |