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.18.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bc66e793652b307ae8e9f700b21b4511ba4e14f0a07098f308637bb3674ce07 |
|
MD5 | 62462dd01c61aef8febba958947faadf |
|
BLAKE2b-256 | ef0ed6026534532280f2e1e907cba41647815a8879c1bc309fa2aeff42d1fa61 |
Close
Hashes for MapColoniesJSONLogger-0.0.18-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecd7c37eb057bfcbbf6663298de5dd42f1918efe57bf2f80d7b48cf59b2c41cd |
|
MD5 | fb39828b945aaaa6a8cbba4bd21f831a |
|
BLAKE2b-256 | b52620ecb120f7a3c2b46b311a5320b8633823010a67e98df8ac27ba582dc045 |