Tracelib - это набор утилит, который облегчает трассировку кода на Python.
Вы сможете использовать TracerManager, который позволяет сосуществовать вместе нескольким трассировочным функциям. Его легко можно активировать / деактивировать как вручную, так и с помощью менеджера контекста.
Классы на основе Tracer позволяет легко обрабатывать различные события трассировки:
class TraceExceptions(Tracer):
def trace_exception(self, func_name, exctype, value, tb):
print "Saw an exception: %r" % (value,)
Tracer так же легко может фильтровать прослушиваемые события. Он принимает как параметр событий (список событий трассировки за который он отвечает), так и параметр наблюдения (список путей за которые он отвечает в форме package.module.class.function).
Вы можете легко либо обернуть трассировочную функцию или создать свой подкласс Tracer и реализовать один из его методов trace_*().
Кроме того, у Вас есть вспомогательный класс FrameInspector, который оборачивает фрейм и позволяет просто получать имена вызванной функции и аргументы.
inspector = FrameInspector(sys._getframe())
print "Called", inspector.func_name
print "args:", inspector.args
print "kwargs:", inspector.kwargs
Полную документацию можно прочитать тут, а код посмотреть на github.
Источник
Комментариев нет:
Отправить комментарий