调试和分析用于记录调用方名称、args+值、执行时间等的函数和类的decorator。消除了大量样板代码。

log_calls的Python项目详细描述


日志调用是一个python 3.3+decorator,可以打印很多有用的信息 关于对修饰函数、方法和属性的调用。装潢师可以 写入stdout,另一个流或文件,或写入记录器。记录通话 提供编写自己的调试消息和轻松“转储”的方法。 变量和表达式与其值配对。它可以装饰个人 函数、方法和属性;但它也可以通过编程方式修饰 整个类和类层次结构的可调用成员,甚至整个模块的可调用成员, 只需要一行代码-这可以大大加快学习新的代码库。

简而言之,日志调用可以避免您编写、重写、复制、粘贴和 调整了很多特别的、仅用于调试的样板代码,它可以让your 没有杂乱的代码基。

对于每个对修饰函数或方法的调用,日志调用可以显示:

  • 呼叫方(实际上,完整的呼叫链返回到另一个日志调用 呼叫者,因此显示的链中没有间隙)
  • 传递给函数或方法的参数,以及使用的任何默认值
  • 使用缩进嵌套调用
  • 呼叫的号码(无论是1st呼叫, 第2个nd,第103个rd,…)
  • 返回值
  • 执行所需的时间
  • 还有更多!

这些和其他功能是可选的和可配置的设置,可以是 通过关键字参数以及en为每个修饰的可调用函数指定 对于一组共享相同设置的可调用函数,masse。你可以检查一下 并使用与 关键字,或者使用一个类似dict的接口,该接口的关键字是关键字。

日志调用还可以收集分析数据和统计信息,在运行时可以访问, 例如:

  • 调用函数的次数
  • 函数所用的总时间
  • 函数的整个调用历史记录(参数、经过的时间、返回值、调用方, 以及更多),以csv格式的文本提供,如果Pandas 作为DataFrame安装。

该包包含另外两个装饰程序:

  • 记录历史,一个精简版的日志调用, 只收集通话记录和统计信息,不输出任何消息;
  • used_unused_keywords允许函数或方法在每次调用时轻松确定, 它的哪些关键字参数实际上是由调用方提供的, 它收到了它们的默认值。

注意:这个包需要cpython实现,因为它做出了假设 关于堆栈帧内部,它可能在其他解释器中无效。

请参阅http://www.pythonhosted.org/log_calls/上的联机文档, 或者在log calls/docs/目录中,查看用法、详细信息、示例和tips und tricks

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java为什么我的代码永远运行?它只是一堆带int的for循环,应该是递减的?   java如何更改IntelliJ IDEA中的XML缩进?   java如何使未填充的int数组不打印0?   eclipse My Weka Java代码结果*Weka*虚拟*STRING*用于*STRING*属性*   java泄漏了Windows com。安卓内部的政策恳求   java这个无限循环的原因是什么?   swing My标签在Java中很模糊   java如何在组件表示存储扩展中获取组件对象   java如何避免selenium网格中的会话超时   Java乘法测验,如果答案错误,如何循环   在Java HttpServlet Google app engine中保存对象   java ArrayList过滤器   java跳跃减慢了xvelocity:使用Libgdx/Box2D进行跳跃和跑步   java删除、复制和修改pom。xml文件   当提供的时区与服务器的时区相同时,RestCall中的java@DateTimeFormat(iso=iso.DATE_TIME)不工作   java Spring批处理多线程默认限制为10隐式?   安卓错误java。lang.UnsupportedOperationException:无法转换为维度:type=0x1