我正在尝试使用 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