2

DEBUG=True および DEBUG=False の場合、生の SQL が表示される可能性はありますか? また、メソッド delete() および save() の場合は? アプリのすべてのリクエストをログに記録したいのですが、生の SQL をログに記録する方法がわかりません。

4

1 に答える 1

2

logging に関するドキュメントを必ず読んでください。

django.db.backendsloggerRequireDebugFalsefilterが必要です。

設定例:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'console':{
            'level':'DEBUG',
            'filters': ['require_debug_false'],
            'class':'logging.StreamHandler',
        },
    },
    'loggers': {
        'django.db.backends': {
            'handlers':['console'],
            'propagate': True,
            'level':'DEBUG',
        },
    }
}

注: django に触れずに、SQL サーバー構成で SQL クエリ ログを有効にすることもできます。詳細については、SQL サーバーのドキュメントを参照してください。

于 2013-07-04T11:37:53.290 に答える