2013-02-22 2 views
2

장고를 사용하여 REST 웹 서비스를 만들었습니다. 이 웹 서비스에는 로그 파일이 있습니다. 모든 웹 서비스 (http) 요청을 로그 파일에 기록하고 싶습니다. 그러나 웹 서비스 요청 처리는 Django에 의해 수행되며, 나는 단지 url-request handler 매핑을 설정하고 요청 핸들러 (Django 명칭에서보기)를 생성한다. 연결된 요청 처리기 (보기)에 각 요청을 기록 할 필요없이 모든 요청을 중앙 지점에 기록 할 수 있습니까?장고에서 웹 서비스 요청 로깅

미리 감사드립니다.

답변

2

예 장고에는 signals 프레임 워크가 내장되어 있습니다.

요청이 시작될 때마다 호출되는 함수를 등록 할 수 있습니다.

from django.core.signals import request_started 
from django.dispatch import receiver 

@receiver(request_started) 
def my_callback(sender, **kwargs): 
    # log the request here 
    pass 

이 코드가 살아야 :

This documenation 페이지가 장식 된 방법을 사용하여 단계

에 의해 단계를 수행하는 방법에 대해 설명? 원하는 곳 어디에서나 신호 처리와 등록 코드를 입력 할 수 있습니다. 그러나 신호가 전송되기 전에 신호 처리가 등록되도록 모듈이 가져 오기를 일찍 가져 오는 을 확인해야합니다. 이 은 앱의 models.py가 신호 처리기 의 등록을하기에 좋은 장소가되도록합니다.