• 【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之类的,以我现在的水平很难看懂。

    个人评分

    类型评分
    实用性 ⭐️⭐️⭐️⭐️
    易用性 ⭐️⭐️⭐️⭐️
    有趣性 ⭐️⭐️⭐️
    代码质量 ⭐️⭐️⭐️⭐️
  • 相关阅读:
    Vue 获取URL链接后面的参数值
    Vue 跳转到指定页面,返回到上一页
    Vant 插件
    Vue 返回上一页,记住上一页的数据
    vue pc端支付宝支付
    Spring 中的事务
    数据库中锁与事务
    《产品方法论》 读书笔记
    设计模式之装饰者模式
    设计模式之单例模式
  • 原文地址:https://www.cnblogs.com/thomaszdxsn/p/AMADstackprint--weiPython-jia-ru-li-yu-diao-shi-de.html
Copyright © 2020-2023  润新知