我想存储python代码的踪迹,它被执行来处理http请求。在
我们使用Python和Django。在
在这种情况下,什么是痕迹?在
我希望所有跟踪的http请求都有这个:
对于每个跟踪,都有N次代码执行的stacktrace。在第一步中,将众所周知的python回溯存储为字符串就足够了。在第一步中,不需要存储变量的值。在
stacktrace可以由一个主管线程创建,也可以通过源代码中的方法调用显式创建。在第一步显式就足够了,主管线程可以稍后再做。在
跟踪是可选的,仅用于调试和分析。不需要它们来处理http请求。在
如何解决这个问题?在
有什么东西不明白这个问题吗?如果是,请留言。在
已从评论中删除
{a1是一个专门的错误解决方案。它也有一种手动记录raven客户端数据的方法。在
有两种方法可以让你随心所欲。一种叫做“跟踪”,另一种叫做“记录”。在
跟踪意味着您有一些软件(比如^{} module ),它允许您创建统计信息—哪些方法被调用的频率、方法参数是什么、谁调用了谁等等
使用跟踪,您需要配置要跟踪的方法/函数调用。它的设置很快,但不能查看方法/函数的内部。有点傻。在
此外,您还必须编写自己的工具来分析跟踪文件,以了解它们的意义。在
日志记录更加手动。您需要配置一个日志框架,然后在感兴趣的地方调用日志方法。这样就可以看到局部变量。您可以用有用的方式格式化逻辑数据结构等
这意味着日志功能更强大,但需要更多的手动工作来设置。 还需要一些时间来学习如何进行适当的日志记录(不要太多,也不要太少)。但是日志记录已经附带了许多功能强大的工具(日志查看器、日志文件旋转以避免磁盘满)。在
您可以使用中间件来干扰所有请求,然后记录它们。查看Rhumbix/django-request-logging的示例实现。在
相关问题 更多 >
编程相关推荐