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 サイトの他の関連記事を参照してください。