Python日志处理程序的dictConfig配置选项列表?

时间:2011-11-27 18:37:31

标签: python logging

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

喜欢这个?:

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

如果是这样,dictConfig的所有选项名称是否与docs上的代码示例完全相符?只是想知道,因为我还没有找到一个单独的页面,列出了与dictConfig一起使用的选项名称。

1 个答案:

答案 0 :(得分:3)

这个想法是配置dict中的键名与构造处理程序(或格式化程序或过滤器)的相应调用中的命名args相同。这将与外部定义的处理程序一起使用。给定一个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过滤器`在构造函数调用中也会被忽略,因为它们在日志记录配置中具有特殊意义。

相关问题