【AMAD】stackprint -- 为Python加入利于调试的traceback信息

简介

为Python加入利于调试的traceback信息。

动机

Python抛出异常时,会显示一些traceback信息。但是,一些时候这些信息并没有很多作用,不足以让你确定问题出现的原因。

这也是你大多数时候使用debugger的原因,你需要知道哪些代码运行,相关的变量当时是什么值...

作用

stackprint1并不是sentry2这种完整的错误监控系统,它只是为Python提供一个改良版的crash信息。

作者说,有时候他会使用这个工具来代替debugger。但是大多数时候,这个工具的作用是代码在别处运行,异常只会被记录到错误日志中的时候,可以帮助稍后判断问题原因。

而且,可以为traceback信息加入彩色。

用法

  • 可以为你整个Python替换traceback方式.

  • 可以将单个项目的python traceback全局替换.

    比如在项目的__init__.py中调用set_excepthook()

    import stackprint
    stackprint.set_excepthook(style='color')
    
  • 可以指定的异常设置.

    except块中调用show()format()

    try:
        something()
    except:
    # 捕获当前的异常,打印traceback到stderr
    stackprint.show()
    # ...将traceback转换成字符串
    traceback = stackprint.format()
    logger.error(traceback)

热度分析

这个Repo的首个commit日期是2018.9.2。截止到2019.5.2日,这个Repo获得了695star, 15fork.

源码分析

这个库的源代码满满的C风格,很多的函数定义。实现的原理应该是应用了编译原理,tokenize之类的,以我现在的水平很难看懂。

个人评分

类型 评分
实用性 ⭐️⭐️⭐️⭐️
易用性 ⭐️⭐️⭐️⭐️
有趣性 ⭐️⭐️⭐️
代码质量 ⭐️⭐️⭐️⭐️

猜你喜欢

转载自www.cnblogs.com/thomaszdxsn/p/AMADstackprint--weiPython-jia-ru-li-yu-diao-shi-de.html
今日推荐