2013-11-02 5 views
0

"POST"요청 오류를 디버그하려고하는데 정보가 충분하지 않습니다. 따라서 나는 더 많은 것을 이해하는 데 도움이 필요하다.django/python 또는 서버 로그에서 자세한 정보 얻기

tail -a에 다음과 같은 오류가 발생합니다. 이것은 테일과 로그 자체 내부에 표시되는 유일한 것입니다. 나는 그 꼬리에는 장황함에 대해 -v이 없다고 가정합니다.

==> python/logs/access_log-20131102-000000-EST <== 
85.75.241.1 - - [02/Nov/2013:09:09:47 -0400] "POST /dajaxice/async.store_event/ HTTP/1.1" 500 16516 "http://example.com/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36" 

(나는 원래로 위의 example.com 변경)

나는 로그 파일이 500 오류에 대한 추가 정보를 얻기 위해 검색해야

? 파이썬이 더 강하게 말할 수 있습니까?

로컬 서버에서 나는 특별한 것을 말하지 않는 다음을 얻습니다.

[02/Nov/2013 14:22:15] "POST /dajaxice/async.store_event/ HTTP/1.1" 200 24 

마지막으로 코드 16516이며 24 나에게 각각 500 16516200 24 특히 말해? 500/200는 http 코드이지만 다른 것은 무엇입니까?

+2

어떻게 settings.py에'디버그 = TRUE '로 브라우저에서 페이지를 여는? 이것이 기본 디버거입니다. 일반적으로 충분합니다 – yuvi

+0

django가 모든 오류에 대한 로그에 완전한 오류 정보를 넣도록 설정할 수 있습니다. '500'은 서버 오류이므로 디버그가 가능하다면 django의 디버그 페이지에 모든 요청 정보가 표시됩니다. – Rohan

답변

0

액세스 로그를보고 있습니다. 놀랍지 않게 오류가 오류 로그에 기록됩니다. 자세한 정보가 필요합니다.

내가, 하나, 라이브 서버에 debug = True를 사용하지 말아야 알고

0

(두 번째 값은. 응답의 바이트 수입니다)하지만 버그를 사냥 할 수있는 유일한 방법 인 경우, OU는해야 더 많은 정보를 얻으려면 몇 분간 swithing을 고려하십시오.

또한 django 디버그 도구 모음은 도움이 될 수 있습니다. 파일에 기록되지 않고 증가 된 추가 로깅 메시지를 표시 할 수 있습니다.

import logging 
logger = logging.getLogger(__name__) # Get an instance of a logger __name__ will be your app name 

logger.debug(str(form.cleaned_data)) 

또는 당신이 당신의 자신의 로거를 쓰기 :

"""Logger to File""" 
file_logger = logging.getLogger("file_logger") 
file_logger.setLevel(logging.DEBUG) 
formatter = logging.Formatter('%(asctime)s - %(message)s') 
handler = logging.handlers.RotatingFileHandler(os.path.join(MEDIA_ROOT, "log", "filelogger_log.log"), maxBytes=10000000, backupCount=5) 
handler.setFormatter(formatter) 
file_logger.addHandler(handler)