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

标签 python logging

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

像这样吗?:

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

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

最佳答案

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

关于python - Python 日志记录处理程序的 dictConfig 配置选项列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8288002/

相关文章:

python - 在 emacs 中自动扩展评论 block

python - 存储在某个文件中的交互式 Python 脚本输出

java - 如何从 Java 日志文件中提取错误信息(日志记录后)

python - 在 python 中使用 lxml iterparse 解析大型 .bz2 文件 (40 GB)。未压缩文件不会出现的错误

python - caffe安装: opencv libpng16. so.16联动问题

Django 中的 Python 日志记录

Python 日志记录 : Inherit contextual information

java - Log4j - 找不到日志文件

python - 使用Pandas如何利用列数据进行大数据的统计分析

python - Gvim 无法加载我的 Python