Django Logging: django.db.backends 返回"(0.000) None; args=None"消息



我正在尝试使用 Django 日志记录我的数据库查询,但日志消息似乎无效。我正在使用Django 2.1,Python 3.6和MySQL数据库。

我的settings.py

LOGGING = {
    'version': 1,
    'formatters': {
        'standard': {
            'format': '%(asctime)s [%(levelname)s] %(name)s: %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': SITE_ROOT + '/mylog.log',
            'maxBytes': 1024*1024*5, # 5 MB
            'backupCount': 5,
            'formatter':'standard',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
    }
}

生成的日志:

2019-02-07 11:27:17,642 [DEBUG] django.db.backends: (0.000) None; args=None
2019-02-07 11:27:17,642 [DEBUG] django.db.backends: (0.000) None; args=None
2019-02-07 11:27:17,643 [DEBUG] django.db.backends: (0.000) None; args=(2,)
2019-02-07 11:27:17,657 [DEBUG] django.db.backends: (0.000) None; args=(2,)
2019-02-07 11:27:17,670 [DEBUG] django.db.backends: (0.000) None; args=(2,)
2019-02-07 11:27:17,843 [DEBUG] django.db.backends: (0.165) None; args=(2, 2, 2)

如何进行 SQL 查询?

派对有点晚了,但我刚刚遇到了这个问题,并在 django-debug-toolbar 的 GitHub 页面上找到了关于这个特定问题的解决方案。显然mysqlclient==1.3.14可能是罪魁祸首,使用它的不同版本(我尝试了 1.3.12 和 1.4.4(为我解决了这个问题。

我遇到了同样的问题。

这绝对是mysqlclient的问题。

我正在使用django 1.11.6,这是一个旧的"补丁"版本。

我刚刚尝试使用最新的 1.11.x、1.11.29 升级 django,错误也在这里

所以升级 Django 并不能修复这个错误,它没有在 django 的 1.11.x 分支中修复

MySQLclient的1.4.6版本是最后一个没有问题的版本,在1.11.6和1.11.29上

我创建了问题 https://github.com/PyMySQL/mysqlclient-python/issues/441

此错误已修复。升级你的 Django。见 https://github.com/django/django/pull/10726

相关内容

最新更新