A JSON logger for map colonies project
Project description
json-logger
Installation
Installation with dependencies
pip3 install python-json-logger MapColoniesJSONLogger
Usage Example
import os
from jsonlogger.logger import JSONLogger
APP_NAME = 'my-service'
# there should be a formatter that uses these fields in configuration yaml (e.g. format: '%(timestamp)s %(service)s')
additional_constant_fields = {'service': APP_NAME}
# NOTICE: there should be a matching logger name in configuration yaml (e.g. main-info)
log = JSONLogger('main-info',
config={'handlers': {'file': {'filename': 'Meow.log'}}}, # Optional, override values
additional_fields=additional_constant_fields)
log.critical('system crashed')
log.error('incorrect input')
log.warn('not ready')
log.info('some info', extra={'action_id': 3}) # extra fields
log.debug('some info', extra={'action_id': 4}) # will not be logged because logger level set to INFO ('main-info')
Example Configuration YAML used by the package
{
'version': 1,
'formatters': {
'brief': {
'format': '%(message)s'
},
'json': {
'format': '%(timestamp)s %(service)s %(loglevel)s %(message)s',
'class': 'jsonlogger.logger.CustomJsonFormatter'
}
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
'formatter': 'json',
'stream': 'ext://sys.stdout'
},
'file': {
'class': 'logging.handlers.RotatingFileHandler',
'formatter': 'json',
'filename': '/var/log/osm-seed/logfile.log',
'maxBytes': 5242880,
'backupCount': 10
}
},
'loggers': {
'main-debug': {
'handlers': [
'console',
'file'
],
'level': 'DEBUG'
},
'main-info': {
'handlers': [
'console',
'file'
],
'level': 'INFO'
},
'main-warning': {
'handlers': [
'console',
'file'
],
'level': 'WARNING'
},
'main-error': {
'handlers': [
'console',
'file'
],
'level': 'ERROR'
},
'main-critical': {
'handlers': [
'console',
'file'
],
'level': 'CRITICAL'
}
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for MapColoniesJSONLogger-0.0.10-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18b12cf2498798252547424e357c020235c10a230f1e9765cd774e9fa62af6ba |
|
MD5 | d90f0d36535903875502946cf41b5a66 |
|
BLAKE2b-256 | 8f3f003e35d28de0289b18d13d3a27398f10eb2d0acc2c4b5f3d806fd4be02c1 |