2016-08-10 3 views
0

내 장고 앱에서 예외를 처리하기 위해 try catch 블록을 사용하고 있습니다. 그러나, 나는 또한 예외가 잡힐 경우에 디버그 정보를 출력하기 위해 traceback 모듈을 사용하고있다.python`traceback` 생산 성능

try: 
    # Exception gets thrown here 
except: 
    traceback.print_exc() 

프로덕션 환경으로 이전 할 때 삭제해야합니까? 이것은 중요한 성능 결과를 가져올 수 있습니까 (예 : PHP의 xdebug와 같은)?

+0

로깅과 'traceback.print_exc()'대신 로거의'예외()'방법을 사용하는 것이 좋습니다. – BlackJack

+0

@BlackJack, 이유가 무엇입니까? – Lev

+0

'logging'의 디버그 레벨이 디버깅 정보를 기록하는 일반적인 방법이기 때문입니다. 그리고 Django는 파이썬의'logging' 모듈을 사용/권장합니다. 어떤 일이 발생하면 출력 결과를 제어하고 로거 이름과 같은 추가 정보를 가질 수 있습니다. – BlackJack

답변

1

아니요, 성능에 중요한 영향은 없습니다. 트레이스 백은 이미 올려 졌을 때 이미 예외와 함께 존재합니다.

모든 traceback.print_exc()인쇄입니다.

+0

정보가 있지만 추적으로 포맷되지 않았습니다. 이 속도가 느려지면 프로그램의 추적 량에 따라 프로그램이 달라집니다. – BlackJack