2013-10-30 111 views
0

我想扩展python(2.7)的日志记录模块(特别是记录器类)。扩展python日志记录模块

目前我有:

class MyLogger(logging.Logger): 

    def __init__(self, name): 
     logging.Logger.__init__(self, name) 
  1. 这是初始化MyLogger正确的方式?

  2. 我可以使用Logger.manager(logging.Logger.manager)吗? (我只知道logging.getLogger(名称) - 这是不可用的,因为我扩展了记录器本身,我知道静态方法在Python中不流行作为例如他们在Java中)?

  3. 我在哪里可以了解有关扩展类的更多信息? python.org中的文档非常差,并没有帮助我。

我的目标是能够开始根据主叫模块的名称标准配置和处理程序记录器,以及整个系统记录器设置为具有短,可读,调用同一水平。

回答

0

似乎我的方法是完全错误的。

我喜欢在python.org规定的way

使用配置文件的清理代码,并可以轻松地更改传播。

配置文件加载像这样:

# view example on python.org site (logging for multiple modules) 
logging.config.fileConfig('logging.conf') 

至于批次的能力,因为我们保持logging.Logger.manager.loggerDict和logging.getLogger,批处理操作可以使用简单的循环来创造变化(如将记录器设置为单一级别)。

相关问题