同时有多个日志后端的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字典,请参阅以下文档:

不需要参数来创建记录器 配置将用默认值填充,这些默认值将结构化日志打印到 慰问.

如果您不在配置中指定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

标准日志记录级别列表:
https://docs.python.org/2.7/library/logging.html#logging-levels

更改日志

1.x版本

  • 传统型

2.0.0

  • 实质性的重构/重写
  • 缓存记录器对象
  • 添加跟踪级别

2.1.0

  • 使用结构化颜色格式化程序时强制启用颜色
  • 默认情况下打印时间戳和日志级别
  • 修复有关重新初始化记录器的问题

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何生成Javadoc?   java例外。尼奥。频道。写入客户端通道时ClosedChannel异常   SpringBoot websocket的java NGINX代理返回400,原因是“升级头:Null”,为什么?   javaagents在java应用程序中查找java代理端口   java运行在未来。用一个线程池映射未来   java如何使用CardView将数据从一个活动传输到另一个活动?   java是否必须创建内部类来处理数据绑定中的事件?   应用程序可以在Java6上运行,但不能在Java7上运行   从超类构造函数调用超类方法的java   netbeans中的java GUI设计器不加载特定的JPanel设计器   字符串Java替换不可见字符   java从groovy类中的应用程序上下文获取Springbean   片段中的java调用方法