同时有多个日志后端的structlog
multistructlog的Python项目详细描述
此模块是structlog的瘦包装器,它设置并提供默认值 用于将日志发送到具有单独格式的一个或多个日志目的地 每个目的地。
api由一个函数组成:create_logger()。
- 参数:
日志配置(dict):logging.config.dictconfig的输入
level(logging.loglevel):覆盖所有记录器的日志级别(不是处理程序!)
- 返回:
- 日志:structlog logger对象
它可以按如下方式调用:
logging_config = …
log = multistructlog.create_logger(config, level=logging.INFO)
log.info(‘Entered function’, foo=’bar’)
要创建logging_config字典,请参阅以下文档:
- https://docs.python.org/2.7/library/logging.config.html#logging.config.dictConfig
- http://www.structlog.org/en/stable/standard-library.html#rendering-using-structlog-based-formatters-within-logging
不需要参数来创建记录器 配置将用默认值填充,这些默认值将结构化日志打印到 慰问.
如果您不在配置中指定formatters节,则有三个 已创建,可用于处理程序:
- json:为每条消息呈现一个json字典
- structured:使用structlog.dev.ConsoleRenderer 打印结构化日志
- structured-color:与structured相同,但具有强制颜色输出
如果不指定handlers节,将添加一个处理程序来记录 在级别使用logging.StreamHandler和格式structured进行控制台 DEBUG。
如果未指定loggers节,则为默认记录器(空字符串) 将创建,并将handlers中的所有项添加到其中,级别为 NOTSET(每级打印)。
设置日志级别时,^{tt16}中的较高者$ 使用logging_config['handlers'][*]['level']。level参数 重写级别的loggers值,而不是handlers级别。
如果处理程序的级别设置为DEBUG,但记录器的级别设置为 ERROR,处理程序将被重写,并且只记录ERROR级别的消息。
multistructlog还添加一个TRACElog级别(整数级别5),该级别低于 “调试”到标准库Logger和结构日志BoundLogger。
更改日志
1.x版本
- 传统型
2.0.0
- 实质性的重构/重写
- 缓存记录器对象
- 添加跟踪级别
2.1.0
- 使用结构化颜色格式化程序时强制启用颜色
- 默认情况下打印时间戳和日志级别
- 修复有关重新初始化记录器的问题