具有映射诊断上下文的结构化日志库

mdclogp的Python项目详细描述


mdclogpy

具有映射诊断上下文的结构化日志库

  • 将日志项以结构化格式输出到标准输出,当前为json。
  • 基于严重性的筛选。
  • 支持映射诊断上下文(MDC)。 set mdc对由库自动添加到日志条目中。

日志条目格式

使用mdclog_write()函数编写的每个日志条目都包含

  • 时间戳
  • 记录器标识
  • 日志条目严重性
  • 所有现有的MDC对
  • 日志消息文本

目前,库只支持写入标准的json格式的输出 不在这个过程中。

示例日志输出

{"ts": 1559285893047, "crit": "INFO", "id": "myprog", "mdc": {"second key":"other value","mykey":"keyval"}, "msg": "Hello world!"}

安装

从pypi安装

python3 -m pip install mdclogpy

使用源安装

python3 setup.py install

用法

该库可以通过以下两种方式使用。

  1. 使用根记录器
importmdclogpymdclogpy.error("This is an error log")
  1. 创建记录器实例
frommdclogpyimportLoggermy_logger=Logger()my_logger.error("This is an error log")

程序可以创建多个记录器实例。

映射诊断上下文

MDC是记录器实例特定的键值对,包括 通过记录器实例写入的所有日志项。

默认情况下,库实现一个根记录器实例。 添加到根日志记录器实例的mdc仅添加到日志条目 通过根记录器实例编写。

许可证

版权所有(c)2019 AT&T知识产权。 版权所有(c)2018-2019诺基亚。

根据apache许可证2.0版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

单元测试

要运行单元测试,请在包目录中运行以下命令: python3 -m unittest discover

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

推荐PyPI第三方库


热门话题
java如何读取、验证和移动数据。csv文件?   用于在线蛇游戏的java解析scaing   java JavaFX:在窗口上移动元素(阶段)调整大小   mysql如何使用java中的IOUtils包在jsp中显示多个图像?   Java dateFormat不可解析日期异常   spring mvc java。执行单元测试时lang.AssertionError   java在一个webapp中运行多个调度器有什么问题吗?   JAVAlang.ArrayIndexOutofBounds异常:1未来。get()多线程   java使用MDC或spring boot中的任何过滤器屏蔽日志消息中的密码,而不使用logback。xml文件   与应用服务器的java AJP和SSL通信   java Hibernate更新列表中的特定对象   Java小程序:使用keylistener移动多边形   java访问是一个独立于MainActivity的进程   来自服务器的java重复密钥或完整性约束冲突消息:“列“volume”不能为null”   java是否有任何方法可以确保在Flink on job cancel with savepoint上通知所有检查点侦听器检查点完成?