четверг, 7 июня 2012 г.

Анонс Tracelib 0.1


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.

Источник

Комментариев нет:

Отправить комментарий