python - logging.config.dictConfig 似乎不起作用

标签 python logging

这段代码有什么问题?它将 Whatsup 输出到 stdOut,而没有输出到/tmp 中的文件。它创建了文件,但没有写入任何内容,即使在记录数据负载 ('w'*20000) 时也不写入。我检查后似乎也没有指定任何处理程序。

>>> logger.handlers
[]
>>> logger.warning("Whatsup")
Whatsup
>>>

import logging
import logging.config
import multiprocessing

import threadfilter

VERBOSE_LOGGING = 1
directory = '/tmp/'



configDict = {
                'version': 1,
                'disable_existing_loggers': False,
                'formatters': {
                    'detailed': {
                        'class': 'logging.Formatter',
                        'format': '%(asctime)s - %(levelname)s =%(threadName)s= - Completer: %(message)s'
                    }
                },
                'handlers': {
                    'fileH': {
                        'class': 'logging.FileHandler',
                        'filename': '%s/ZZZZZZZZZZ_dispatcher_jobComplete3r.log' % (directory),
                        'formatter': 'detailed'
                    }
                },
                'loggers': {
                    'root': {
                        'handlers': ['fileH'],
                        'level': VERBOSE_LOGGING
                    }
                }
}

logging.config.dictConfig(configDict)
logger = logging.getLogger()
logger.handlers
logger.warning("Whatsup")

也没有抛出错误,它似乎只是默默地忽略我的配置。

python 3.6.1

最佳答案

这出现在寻找同样的问题。和你一样,我解决了它,但做得不同。我认为值得一提,因为谷歌会为其他人提供...

默认的“root”处理程序不称为“root”,它实际上是空白或无。

用 None (这是一个有效的字典键)替换 'root' 使其适用于所有记录器,而不仅仅是“root”记录器。

关于python - logging.config.dictConfig 似乎不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45167874/

相关文章:

javascript - 如何在没有 console.log 的情况下登录 Vue.js?

python - 从日志文件中提取唯一访问者列表

python - 使用 Python setuptools 安装后脚本

python - 为什么 Python 的内置 sum 比手动求和慢得多?

python - 在 python 3.5 中扩展 logging.Logger 模块

java - 是否有专为 Java 5 或更高版本设计的 log4j 或 commons 日志记录扩展或其他日志记录框架?

ruby-on-rails - Ruby on Rails - 使用 logger.info "hi"给出 undefined variable 或方法错误,要更改/设置什么?

python - 在 Python 中导航多维 JSON 数组

python - 从需要登录的社交媒体网站抓取最新帖子时,如何保持不被发现?

python - 一串 kwargs 到 kwargs