2011-11-27 142 views
1

我在哪里可以找到Python日志处理程序的配置选项列表?例如,docs表示TimedRotatingFileHandler采用“when”参数。这怎么可以使用dictConfig定义?Python日志处理程序的dictConfig配置选项列表?

像这个?:

'handlers': { 
    'file': { 
     'level': 'DEBUG', 
     'formatter':'default', 
     'class': 'logging.handlers.TimedRotatingFileHandler', 
     'when': 'midnight', 
      .... 
    }, 
}, 

如果是这样,所有的选项名称为dictConfig correcpond正是对文档的代码示例?只是想知道,因为我还没有找到一个单独的页面列出与dictConfig一起使用的选项名称。

回答

2

这个想法是让配置dict中的键名与构造处理程序(或格式化程序或过滤器)的相应调用中的指定参数相同。然后,这也将与外部定义的处理程序一起工作。给定一个字典config保持的物体(如处理器)的配置,该配置代码完成的

constructor = config['class'] # or '()' for a custom object being configured 
kwargs = dict([(k, config[k]) for k in config if valid_ident(k)]) 
obj = constructor(**kwargs) 

相当于获得已配置的对象。任何不是有效标识符的键都会被忽略。在处理程序的情况下,level,格式化程序and filters`在构造函数调用中也被忽略,因为它们在日志记录配置中具有特殊意义。

+0

谢谢,正是我想知道的。 – WilHall