>  기사  >  백엔드 개발  >  Django에서 모든 SQL 쿼리를 어떻게 기록할 수 있나요?

Django에서 모든 SQL 쿼리를 어떻게 기록할 수 있나요?

Patricia Arquette
Patricia Arquette원래의
2024-10-17 17:27:03381검색

How Can I Log All SQL Queries in Django?

Logging SQL Queries in Django

이 질문은 Django 애플리케이션에서 실행되는 모든 SQL 쿼리를 기록하는 방법을 모색합니다. 관리 사이트. 작업은 이러한 SQL 문을 캡처하기 위해 중앙 로그 파일(예: all-sql.log)을 생성하는 것입니다.

로깅 구성:

이를 달성하려면 병합 settings.py의 LOGGING 필드가 있는 다음 스니펫:

<code class="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>

설명:

  • 'level' 설정: 'DEBUG'를 사용하여 모두 캡처 심각도에 관계없이 SQL 쿼리.
  • 'handlers': ['console']를 사용하여 SQL 쿼리를 콘솔 출력으로 리디렉션합니다.
  • 'loggers' 구성: {'django.db. backends': {'level': 'DEBUG'}}는 Django ORM을 통해 실행된 모든 SQL 쿼리를 기록합니다.

참고:

이 솔루션은 @ acardenas89의 답변에서. 이는 애플리케이션이 디버그 모드에 있을 때 Django에서 실행되는 모든 SQL 쿼리가 콘솔에 기록되도록 보장합니다.

위 내용은 Django에서 모든 SQL 쿼리를 어떻게 기록할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.