Django SQL 쿼리 로깅에 대한 자세한 설명
Django는 데이터베이스 기반 애플리케이션을 구축하는 데 널리 사용되는 Python 웹 프레임워크입니다. 최적의 성능을 보장하고 데이터베이스 문제를 해결하려면 애플리케이션에서 실행되는 모든 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!