Django가 아닌 애플리케이션에서 Django ORM을 사용 중이므로 DEBUG 설정을 사용하여 정기적으로 쿼리를 기록 할 수 있습니다. 그래서 막연하게 이런 일이 :Django 제작 사이트에서 DEBUG 켜기
from django.db import connection
def thread_main_loop():
while keep_going:
connection.queries[:] = []
do_something()
some_logging_function(connection.queries)
내가 내 프로덕션 서버에서이 작업을 수행하고자을하지만, 의사가 는 "DEBUG 실행 때하는 켜져 것을 기억하는 것이 중요하다, 경고, 장고 기억합니다 디버깅 할 때 유용하지만 프로덕션 서버에서는 메모리를 빠르게 소비합니다. "
각 스레드의 메인 루프를 통해 매번 목록이 지워지기 때문에 Django 쿼리 로깅이 내 응용 프로그램에서 메모리를 소비하지 않을 것이라고 생각합니다. 이 올바른지? 그리고 Django ORM 만 사용한다면 프로덕션 환경에서 DEBUG를 켜지 않는 다른 이유가 있습니까?
잘 말했듯이, 우리는 ORM 만 사용하기 때문에 DEBUG를 켠 상태에서도 서버가 스택 추적을 신뢰할 수없는 제 3 자에게 공개하지 않습니다. DEBUG을 사용하지 않는 것을 알고있는 다른 이유가 있습니까? –
아 맞아, 나는 내 대답을 연장했다. – stefanw