用于graylog json提取器的json格式化程序。
graylog-json-formatter的Python项目详细描述
graylogjsonformatter将日志记录格式化为graylog json提取器的json对象。 json对象包含作为默认密钥的logrecord属性,并包含额外的属性: source、message、asctime和data。
示例
配置:
from logging import config config.dictConfig({ 'version': 1, 'disable_existing_loggers': True, 'formatters': { 'graylog': { '()': 'graylog_json_formatter.GrayLogJSONFormatter', 'format': '({levelname}) | {name} | [{asctime}]: ' 'File {pathname}:{lineno}" - {funcName}() | {message}', 'style': '{', 'source': 'test', } }, 'handlers': { 'console': { 'level': 'DEBUG', 'class': 'logging.StreamHandler', 'formatter': 'graylog', }, 'graylog': { 'level': 'DEBUG', 'class': 'logging.handlers.SysLogHandler', 'formatter': 'graylog', 'address': ('localhost', 10000), } }, 'loggers': { 'test': { 'level': 'DEBUG', 'handlers': ['console', 'graylog'], 'propagate': False, }, } }) logger = logging.getLogger('test')
日志记录:
# extra usage logger.debug('test message: % | %s', 1, 2, extra={'data': {'key': 'value', 'int_key': 12})
graylog提取额外的data-key和data-int_key字段。