具有映射诊断上下文的结构化日志库
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
用法
该库可以通过以下两种方式使用。
- 使用根记录器
importmdclogpymdclogpy.error("This is an error log")
- 创建记录器实例
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