我通常不使用或不需要类级记录器,但我最多只能将模块放在几个类中。一个简单的:
import loggingLOG = logging.getLogger(__name__)
在模块的顶部和随后的位置:
LOG.info('Spam and eggs are tasty!')
从文件中的任何位置通常可以将我带到想要的位置。这样就避免了对
self.log整个地方的需求,从每个类的角度来看,这往往使我感到困扰,并使我5个字符更接近适合的79个字符行。
您可以始终使用伪类装饰器:
>>> import logging>>> class Foo(object):... def __init__(self):... self.log.info('Meh')... >>> def logged_class(cls):... cls.log = logging.getLogger('{0}.{1}'.format(__name__, cls.__name__))... >>> logged_class(Foo)>>> logging.basicConfig(level=logging.DEBUG)>>> f = Foo()INFO:__main__.Foo:Meh
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)