python的映射诊断上下文(mdc)库

mdc的Python项目详细描述


https://travis-ci.org/AFriemann/mdc.svg?branch=master

这被认为是一个易于使用的、导入和运行的、用于映射诊断上下文样式日志记录的库。

日志应该包括python日志库收集的所有必需字段。 在需要的地方提供帮助器方法来添加上下文字段。

安装

PYPI:

$ pip install --user mdc

来源:

$ pip install --user .

用法

向根日志记录器添加处理程序,或使用logging.basicconfig设置基处理程序

>>>importlogging>>>frommdcimportMDCHandler>>># use the MDCHandler only>>>logging.basicConfig(level=logging.DEBUG,handlers=[MDCHandler()])>>># the MDC contextmanager>>>withMDC(foo='bar'):...logging.warning('foobar'){...,"mdc":{"foo":"bar"},"extra":{},...}>>># the with_mdc decorator>>>@with_mdc(test='123')...deffoobar(ctx):...logging.warning('some warning')>>>foobar(){...,"mdc":{"test":"123"},"extra":{},...}>>># logging with extra fields>>>logging.error('some error',extra=dict(foo='bar')){...,"mdc":{},"extra":{"foo":"bar"},...}

默认情况下,日志消息将包括以下字段:

{"message":"deleting context b8321b4f-19ff-4c98-b011-5a97178e7ad6","logger":"mdc","timestamp":"2018-03-07T21:39:12.010851","level":"DEBUG","mdc":{"foo":"bar","index":76},"extra":{},"python":{"module":"__init__","function":"MDC","path":"/home/user/git/mdc/mdc/__init__.py","file":"__init__.py","line":56,"process":{"name":"MainProcess","id":31678},"thread":{"name":"MainThread","id":140433289192768}}}

运行测试:

$ tox

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

推荐PyPI第三方库


热门话题
java CXF和授权   java在网站中部署使用swing创建的表单   java为什么getHeaderField()返回一个字符串,其中getHeaderFields()返回HttpUrlConnection中的Map<String,List<String>>   java如何检测恶意数据包?   webview中的java网页为空   java SWT图像资源,用于将我的所有图像存储在一个位置   java计算数组的最大长度,使平均值小于给定值   java“发件人电话号码无效”和美国号码   将Swing组件作为内容的自定义Java工具提示不会显示   在并发HashMap中重新灰化期间的java检索   Java 7和Tomcat 7.0.64 ClassFormatException:常量池中的字节标记无效   使用JUnit的java assertNull因NullPointerException失败   java内存中的文件是否与文件系统中的文件大小相同?   循环内实例化的类型的java注入依赖项