跳转到主要内容

适用于(异步)上下文的一个简单日志系统

项目描述

本模块有助于解决以下问题

您有一个异步程序。它在并行中做很多事情。您真的不知道发生了什么。然后您遇到了死锁,或者一个被其他错误或未受保护的代码块内的异步调用隐藏的初始触发器取消。

现在您不知道发生了什么,您的代码的低级别监控导致错误在噪声中丢失。

以下是logcontext如何帮助的。

首先,包装您的核心代码:

from logcontext import main_context
def main():
	with main_context():
		... # whatever your program does

然后您使用以下方式包装每个可能有趣的部分,nursery,异步上下文等:

from logcontext import context_of
...
async def code_of_interest(arg):
	with context_of("interesting: %s", arg) as ctx:
	    ... # start some subtask

		# display what my subcontexts are doing, if anything
		ctx.log_tree()  

文本和位置参数将被传递给logging.log

报告您代码的当前状态就像这样简单:

from logcontext import log_backtrace, log_tree

...
log_tree()  # reports the whole program's context tree
log_backtrace()  # reports the contexts leading to the current code

context_oflog_tree都接受一个日志级别。这样,您可以有选择地将更高的日志级别附加到可能有趣的代码。跳过“不感兴趣”的子树。

"""

from ._main import main_context, context_of, log_backtrace, log_tree

项目详情


下载文件

下载适合您平台的应用文件。如果您不确定要选择哪个,请了解更多关于安装包的信息。

源分布

logcontext-0.1.1.tar.gz (4.0 kB 查看哈希值)

上传时间: 源代码

构建分发版

logcontext-0.1.1-py3-none-any.whl (3.9 kB 查看哈希值)

上传时间: Python 3

由以下支持