Tracerlib提供一组辅助工具,使跟踪Python代码变得更加容易。
项目描述
Tracerlib是一组工具,用于简化Python代码的跟踪。
它提供了TracerManager
,允许多个跟踪函数共存。它可以轻松启用和禁用,无论是手动还是作为with语句中的上下文管理器。
Tracer
类使得处理不同的跟踪事件变得更容易。
class TraceExceptions(Tracer): def trace_exception(self, func_name, exctype, value, tb): print "Saw an exception: %r" % (value,)
Tracer
也可以轻松地过滤它要监听的事件。它接受一个events
参数,这是一个将响应的跟踪事件的列表,以及一个watch
参数,这是一个以package.module.class.function
的形式响应的路径列表。
这可以轻松地包装一个跟踪函数,或者你可以从Tracer
中继承并实现其有用的trace_*()
方法之一。
还有一个辅助类FrameInspector
,它包装了一个帧,并使得检查函数名和调用函数时使用的参数变得非常简单。
inspector = FrameInspector(sys._getframe()) print "Called", inspector.func_name print "args:", inspector.args print "kwargs:", inspector.kwargs