ホームページ > データベース > mysql チュートリアル > Django で SQL クエリを効果的に記録するにはどうすればよいですか?

Django で SQL クエリを効果的に記録するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-15 21:29:44
オリジナル
812 人が閲覧しました

How to Effectively Log SQL Queries in Django?

Django SQL クエリログの詳細な説明

Django は、データベース駆動型アプリケーションを構築するための人気のある Python Web フレームワークです。最適なパフォーマンスを確保し、データベースの問題をトラブルシューティングするには、多くの場合、アプリケーションによって実行されたすべての SQL クエリをログに記録する必要があります。このガイドでは、Django でこのログ記録を実装する方法を段階的に説明します。

位置情報クエリのログ コード

SQL クエリをログに記録するには、Django プロジェクトの settings.py ファイルを編集する必要があります。このファイルで LOGGING 辞書を見つけ、次のコード スニペットに従って変更します:

<code class="language-python">LOGGING = {
    'version': 1,
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        }
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'DEBUG',
            'handlers': ['console'],
        }
    }
}</code>
ログイン後にコピー

統合ログ構成

提供されたコード スニペットを LOGGING ディクショナリとマージした後、Django はすべての SQL クエリを自動的にコンソールに記録します。クエリを別のファイル (例: all-sql.log) にリダイレクトするには、ファイル ハンドラーを handlers セクションに追加する必要があります。以下は、変更された構成の例です:

<code class="language-python">LOGGING = {
    'version': 1,
    'filters': {
        'require_debug_true': {
            '()': 'django.utils.log.RequireDebugTrue',
        }
    },
    'handlers': {
        'console': {
            'level': 'DEBUG',
            'filters': ['require_debug_true'],
            'class': 'logging.StreamHandler',
        },
        'file': {
            'level': 'DEBUG',
            'class': 'logging.FileHandler',
            'filename': '/path/to/all-sql.log', # 请替换为您的日志文件路径
        }
    },
    'loggers': {
        'django.db.backends': {
            'level': 'DEBUG',
            'handlers': ['file'],
        }
    }
}</code>
ログイン後にコピー

/path/to/all-sql.log を実際のログ ファイルのパスに置き換えてください。 構成が完了すると、すべてのデータベース クエリが指定されたファイルに記録されます。

以上がDjango で SQL クエリを効果的に記録するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート