在哪里可以找到Python日志处理程序的配置选项列表?例如,docs表示TimedRotatingFileHandler采用“when”参数。如何使用dictConfig定义?
喜欢这个?:
'handlers': {
'file': {
'level': 'DEBUG',
'formatter':'default',
'class': 'logging.handlers.TimedRotatingFileHandler',
'when': 'midnight',
....
},
},
如果是这样,dictConfig的所有选项名称是否与docs上的代码示例完全相符?只是想知道,因为我还没有找到一个单独的页面,列出了与dictConfig一起使用的选项名称。
答案 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
过滤器`在构造函数调用中也会被忽略,因为它们在日志记录配置中具有特殊意义。