Django 애플리케이션에서 SQL 쿼리를 포괄적으로 기록하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-17 17:29:02
원래의
782명이 탐색했습니다.

How to Log SQL Queries Comprehensively in a Django Application?

Django에서 SQL 쿼리 로깅

관리 사이트에서 생성된 쿼리를 포함하여 Django 애플리케이션에서 실행되는 모든 SQL 쿼리를 포괄적으로 로그하려면 다음 단계를 따르세요.

  1. 로깅 프레임워크 설치: Django는 Python에 내장된 로깅 프레임워크를 활용합니다. 그러나 더 많은 사용자 정의가 필요한 경우 Loguru 또는 Structlog와 같은 타사 로깅 라이브러리 설치를 고려하십시오.
  2. settings.py에서 로그인을 구성하세요. 다음 코드 조각을 LOGGING 필드와 병합하세요. settings.py 파일:
<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>
로그인 후 복사
  1. 로그 수준 설정: 이 구성은 로그 수준을 DEBUG로 설정하여 모든 데이터베이스 관련 로그 메시지를 캡처합니다. 요구 사항에 맞게 '레벨' 필드를 편집하세요.
  2. 로그를 저장할 파일 만들기: SQL 로그를 콘솔 대신 파일로 리디렉션하려면 다음 섹션을 추가하세요. LOGGING 구성:
<code class="python">'handlers': {
    'file': {
        'level': 'DEBUG',
        'filters': ['require_debug_true'],
        'class': 'logging.FileHandler',
        'filename': 'all-sql.log',
    }
},</code>
로그인 후 복사
  1. Django 서버를 다시 시작하세요. 이러한 변경을 수행한 후 Django 서버를 다시 시작하여 새 로깅 설정을 적용하세요.

이 구성을 사용하면 Django 애플리케이션에서 실행되는 모든 SQL 쿼리가 이제 지정된 파일(이 예에서는 'all-sql.log')에 기록됩니다. 이는 데이터베이스 관련 문제를 해결하거나 감사를 수행하는 편리한 방법을 제공합니다.

위 내용은 Django 애플리케이션에서 SQL 쿼리를 포괄적으로 기록하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿