집 >데이터 베이스 >MySQL 튜토리얼 >Django 애플리케이션에서 모든 SQL 쿼리를 어떻게 기록할 수 있나요?
Django 앱에 모든 SQL 쿼리를 기록합니다.
이 문서에서는 관리 사이트의 쿼리를 포함하여 Django 애플리케이션에서 실행되는 모든 SQL 쿼리를 효과적으로 기록하는 방법을 안내합니다. 핵심은 settings.py
파일의 LOGGING
필드를 수정하는 것입니다.
구현 단계:
logging
라이브러리를 코드로 가져옵니다. 이를 통해 로깅 기능을 구성하고 처리할 수 있습니다. <code class="language-python">import logging</code>
<code class="language-python">class QueryHandler(logging.Handler): def emit(self, record): # 自定义处理SQL查询的逻辑 pass</code>
settings.py
파일의 LOGGING
필드에 병합합니다. 이렇게 하면 SQL 쿼리 로깅이 활성화되고 정의된 프로세서로 출력이 전달됩니다. <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', }, 'query_handler': { 'level': 'DEBUG', 'filters': [], 'class': 'path.to.QueryHandler', # 将path.to.QueryHandler替换为您的自定义处理器的路径 } }, 'loggers': { 'django.db.backends': { 'level': 'DEBUG', 'handlers': ['query_handler'], } } }</code>
<code class="language-python">logger = logging.getLogger('django.db.backends')</code>
<code class="language-python">logger.debug(sql_query)</code>
이러한 단계를 수행하고 제공된 코드 조각을 settings.py
파일에 통합하면 Django는 모든 SQL 쿼리를 지정된 로그 파일에 기록하여 모든 데이터베이스 상호 작용에 대한 포괄적인 개요를 제공합니다. 'path.to.QueryHandler'
를 사용자 정의 프로세서의 실제 경로로 바꾸는 것을 잊지 마세요. 맞춤형 프로세서가 필요하지 않은 경우 'query_handler'
부분을 제거하고 'console'
프로세서만 유지하면 됩니다.
위 내용은 Django 애플리케이션에서 모든 SQL 쿼리를 어떻게 기록할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!