【问题标题】:python `traceback` production performancepython `traceback` 生产性能
【发布时间】:2016-08-10 15:35:36
【问题描述】:

我正在使用 try catch 块来处理我的 Django 应用程序中的异常。但是,我也使用traceback 模块来打印调试信息,以防捕获到异常。

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

我应该在投入生产时删除它吗?这是否会对性能产生重大影响(例如 PHP 中的 xdebug)?

【问题讨论】:

  • 我建议使用日志记录和记录器的exception()-Method 而不是traceback.print_exc()
  • 因为logging的调试级别是记录调试信息的常用方式。 Django 使用/推荐 Python 的 logging 模块。您可以控制输出发生的情况(如果发生),还可以获取其他信息,例如记录器的名称。

标签: python django traceback


【解决方案1】:

不,这不会对性能产生重大影响;追溯已经存在,但引发时出现异常。

traceback.print_exc() 所做的只是打印已经存在的信息。

【讨论】:

  • 信息在那里,但没有格式化为回溯。如果这会减慢程序的速度,我猜这取决于打印的回溯的数量/速率。
  • 使用时还有性能问题:traceback.format_stack()
猜你喜欢
  • 2017-05-19
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 2014-07-29
  • 1970-01-01
  • 2011-12-22
  • 2013-08-11
相关资源
最近更新 更多