k2ss.info
ログに…SQLが…出ない…だと…!? | @K2SS - 日々、邁進
今、ある仕事(以下、プロジェクトA)で「Django+MySQL」を使っています。 Django では発行された SQL をログ出力する仕組みがあり、具体的にはロガーに以下のような記載をすることで動作します。 # settings.py LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'formatters': { 'simple': { 'format': '[%(levelname)s] %(asctime)s %(message)s' }, }, 'filters': { 'require_debug_true': { '()': 'django.utils.log.RequireDebugTrue', # DEBUG 変数が True の場合のみ処理する } }, 'handlers': { 'console': { 'level': 'DEBUG', 'filters': ['require_debug_true'], 'class': 'logging.StreamHandler', 'formatter': 'simple' } }, 'loggers': { # django.db.backends パッケージ以下のログを出力する 'django.db.backends': { 'handlers': ['console'], # console ハンドラを対象とする 'level': 'DEBUG', # DEBUG レベルで出力する 'propagate': True, }, } } が、そこで利用しているアプリケーションのログを見ると、全く SQL が出力されていませんでした。 [DEBUG] 2019-02-20 01:47:34,239 (0.000) None; args=(9,) [DEBUG] 2019-02-20 01:47:34,253 (0.000) None; args=(5,) 本来、上記ログで None となっている箇所に SQL が出力されます。 別の仕事で利用している Django のプロジェクト(以下、プロジェクトB)では問題なく出力されており、「なんでだろう」と頭を悩ませておりました。 MySQL の操作についてはいずれも