跳转到主要内容

Python的自动跟踪日志

项目描述

robocorp-log

robocorp-log 是一个库,它为Python提供可理解的日志记录,重点在于Python自动化,其中详细说明发生了什么以及为什么失败至关重要。

注意:日志的格式不是API的一部分,不应依赖它,因为它可能在版本之间发生变化。

原因

尽管Python日志记录灵活,但在之后分析和可视化日志可能很困难。此外,格式可能会占用大量磁盘空间,并且可能很麻烦地将日志调用添加到所有感兴趣的地方。

如何

robocorp-log 通过使用结构化格式来改善这些方面,在占用更少磁盘空间的同时,还提供了生成内容的查看器(log.html)。

此外,它还提供了设置日志的实用工具,以便自动执行日志记录,而无需显式添加调用以将内容添加到日志记录中(尽管在需要时仍然可以这样做)。

使用方法

建议通过 robocorp-tasks 使用 robocorp-log,因为 robocorp-tasks 将以简化的方式配置 robocorp-log,您只需要关注使用 @tasks 装饰器标记入口点方法,它将自动设置自动记录并提供日志结果在 output/log.html 中。

使用 pyproject.toml 进行配置

robocorp-tasks 负责通过 pyproject.toml 自定义 robocorp-log
有关更多信息,请参阅 robocorp-tasks 项目(robocorp-log 仅提供核心日志结构,不同的库可能会以不同的方式对其进行自定义)。

虽然配置是通过 robocorp-tasks 完成的,但 robocorp.log 中仍有一些有趣的 API 可以使用,例如

  • 添加日志消息的实用方法,如 criticalwarninfodebugexception

  • 添加 html 消息的实用方法(使用 html 方法)。请注意,html 方法已针对 log.html 中的 base64 内容的图像进行了测试,其他结构必须手动检查,因为它们可能会破坏布局。此外,请注意,提供的 html 将被净化。

  • 通过 suppress_variablessuppress_methodssuppress 来抑制日志记录。

  • 隐藏敏感数据(根据在 add_sensitive_variable_nameadd_sensitive_variable_name_pattern 中注册的变量或参数名称自动隐藏)或通过传递要隐藏的值给 hide_from_output

注意事项

自动导入模式是通过具有预导入钩子来完成的,该钩子将在运行时更改 AST。这基本上是可行的,但有一些注意事项需要记住

  1. 调试器可能会在许多地方进入 robocorp-log 代码,即使这些代码不在源代码中(您可能希望配置您正在使用的调试器以跳过 robocorp.log 的调用,因为这通常是实现细节)。

  2. 在导入任何应自动记录的模块之前,必须完全设置日志记录。

  3. 不支持与协程(asyncawaitgreenlet)一起工作。

指南

API 参考信息

探索我们的 API 以获取详细文档。

变更日志

可以在 变更日志 中找到发布列表和相应的更改。

项目详细信息


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

robocorp_log-2.9.3.tar.gz (341.5 kB 查看哈希值)

上传时间 源代码

构建分发

robocorp_log-2.9.3-py3-none-any.whl (350.5 kB 查看哈希值)

上传时间 Python 3

由以下组织支持