2016-08-10 3 views
0

Я использую блоки try catch для обработки исключений в моем приложении Django. Тем не менее, я также использую модуль traceback для печати отладочной информации в случае обнаружения исключения.python `traceback` production performance

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

Следует ли удалить это при переходе в производство? Имеет ли это значительные последствия для производительности (например, xdebug в PHP)?

+0

Я бы рекомендовал использовать logging и 'exception()' -Modeod регистратора вместо 'traceback.print_exc()'. – BlackJack

+0

@BlackJack, почему? – Lev

+0

Поскольку уровень отладки 'logging' является обычным способом регистрации отладочной информации. И Django использует/рекомендует модуль 'logging' Python. Вы можете контролировать, что происходит с выходом, если это вообще происходит, и иметь дополнительную информацию, такую ​​как имя регистратора. – BlackJack

ответ

1

Нет, никаких значительных последствий для этого нет; трассировка уже присутствует, за исключением случаев, когда она поднята.

Все traceback.print_exc() делает это печать информация уже есть.

+0

Информация существует, но не отформатирована как трассировка. Если это замедляется, программа зависит от количества/скорости отпечатков, которые я печатаю. – BlackJack