Django日志记录:django.db.backends返回“(0.000)无; args = None”消息

时间:2019-02-07 13:31:27

标签: django-logging

我正在尝试使用Django Logging记录数据库查询,但是该日志消息似乎无效。我正在将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查询?

3 个答案:

答案 0 :(得分:0)

聚会晚了一点,但是我碰到了这个问题,并且在django-debug-toolbar的GitHub页面上找到了关于此特定问题的解决方案。显然mysqlclient==1.3.14可能是罪魁祸首,使用它的另一个版本(我尝试过1.3.12和1.4.4)可以为我解决此问题。

答案 1 :(得分:0)

我遇到了同样的问题。

mysqlclient肯定是有问题的。

我使用的是django 1.11.6,这是旧的«patch»版本。

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

因此,升级Django无法修复该错误,因此在Django的1.11.x分支中尚未修复

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

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

答案 2 :(得分:0)

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