2011-11-01 7 views
4

들어오는 모든 요청에 ​​고유 한 ID를 할당하고 로깅이 완료 될 때마다 (모든 장소에 명시 적으로 포함하지 않고) 로그에 자동으로 포함되기를 원합니다. 나는이 고유 ID를 생성하고 스레드 로컬에 저장하기 위해 미들웨어를 사용하고 있습니다.Django - 로깅 고유 ID

내가 직접 고유 한 ID 포함 장고의 로깅 포맷을 수정할

: 나는 명시 적으로 각 로그 문에 추가하지 않고 포맷에 고유 ID 구성 요소를 추가하려면 어떻게

LOGGING = { 
    ... 
    'formatters': { 
     'full': { 
      'format': '%(asctime)s %(levelname)s %(name)s - %(message)s', 
     } 
    } 
    ... 
} 

를?

+0

클래스 변수를 사용하여 ID를 생성하고 LOGGING 사전에 사용하는 사용자 정의 포매터를 작성해야합니다. –

+1

Apache의'mod_unique_id' 및'django-log-unique-id '- 장고 설정을 추가해야합니다 :'LOG_REQUEST_ID_HEADER = "UNIQUE_ID"와 Apache 설정 :'RequestHeader set UNIQUE_ID "% {UNIQUE_ID} e"' –

답변

4

Filter 사용 : 기술은 this post에 설명되어 있습니다. IP 주소를 참조하기는하지만 고유 한 요청 ID를 기록하는 방법을 쉽게 사용할 수 있습니다.

+0

감사합니다. – jeffreyveon