A JSON logger for map colonies project
Project description
json-logger
Installation
pip3 install mapcoloniesjsonlogger
Usage Example
from jsonlogger.logger import JSONLogger
APP_NAME = 'my-service'
# NOTICE: there should be a formatter that uses these fields in configuration dict (e.g. format: '%(timestamp)s %(service)s')
additional_constant_fields = {'service': APP_NAME}
# NOTICE: there should be a matching logger name in configuration dict (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')
Configuration Example
The configuration dict bellow is used by the package. For more information on logging configuration see logging.config docs
{
'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/map-colonies/service.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 Distribution
Built Distribution
Close
Hashes for MapColoniesJSONLogger-0.0.17.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | faff336b4912ff23c3625d448358d34d45274d183b2aad464769dbbfabd4af5f |
|
MD5 | b7487825c8ce8f3dd8feb22022f41f0e |
|
BLAKE2b-256 | fd2669ffb39f56f46574ecfa17945957765825a6314fabc8e2f026515a3557a2 |
Close
Hashes for MapColoniesJSONLogger-0.0.17-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ef63e96c97d87f33f672563dee55442fde3b59160059c8226fd5b5297b52c58 |
|
MD5 | 1d377940c1d90c458d2ca919ae1f1392 |
|
BLAKE2b-256 | d1445d358df3f4b359f7c555294eed3648cb6659edc52ce4336f9fb97a6fb961 |