2016-08-10 70 views
0

我使用try catch塊來處理Django應用程序中的異常。但是,我還使用traceback模塊打印調試信息以防發生異常。python`traceback`生產性能

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

我是否應該在進入生產時將其刪除?這是否會對性能產生重大影響(比如像PHP中的xdebug)?

+0

我建議使用日誌記錄和'exception()' - 記錄器的方法,而不是'traceback.print_exc()'。 – BlackJack

+0

@BlackJack,爲什麼? – Lev

+0

因爲'logging'的調試級別是記錄調試信息的常用方式。 Django使用/推薦Python的'logging'模塊。您可以控制輸出中發生的情況,如果它發生,並且具有其他信息,例如記錄器的名稱。 – BlackJack

回答

1

不,不存在重大的性能影響;回溯在引發時已經出現異常。

全部traceback.print_exc()確實是打印已經存在的信息。

+0

信息存在但未被格式化爲回溯。如果這會減慢程序,則取決於我猜測的回溯數量/速率。 – BlackJack