高级python日志装饰器。
PyLogDecorate的Python项目详细描述
您是否曾经希望使用日志修饰符来记录函数调用和基于类层次结构在类中自动创建日志对象。
如果你的答案是真的,这里是我的实现https://github.com/offlinehacker/PyLogDecorate。我实现了一个非常好的选项,称为subdecorate,它支持记录派生类中的函数,即使decorator只应用于基类函数。
这个日志装饰器实现可以很容易地扩展。
- 安装:
- python setup.py install或easy_install pylogdecorate。
- 示例代码:
from log import LogCall, LogClass @LogCall() def test(): print "x" @LogClass({"subdecorate": True}) class test1(object): name="kekec" name2="kekec2" @LogCall({"subdecorate": True, "tracename": "tracetest", "traceattr": "name"}) def test(self): pass @LogCall({"subdecorate": True, "tracename": "tracetest", "traceattr": "name2"}) def test2(self): self.logger.debug("Inside base class!") @LogClass() class test2(test1): def __init__(self): pass def test(self): self.logger.debug("Inside funtion.") self.test2() @LogClass() class test3(test2): def __init__(self): pass def test(self): self.logger.debug("Inside funtion2.") self.test2() test() b=test3() c=test2() b.test() c.test()