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 可以使用,例如
-
添加日志消息的实用方法,如
critical、warn、info、debug、exception -
添加
html消息的实用方法(使用html方法)。请注意,html方法已针对log.html中的 base64 内容的图像进行了测试,其他结构必须手动检查,因为它们可能会破坏布局。此外,请注意,提供的 html 将被净化。 -
通过
suppress_variables、suppress_methods、suppress来抑制日志记录。 -
隐藏敏感数据(根据在
add_sensitive_variable_name和add_sensitive_variable_name_pattern中注册的变量或参数名称自动隐藏)或通过传递要隐藏的值给hide_from_output。
注意事项
自动导入模式是通过具有预导入钩子来完成的,该钩子将在运行时更改 AST。这基本上是可行的,但有一些注意事项需要记住
-
调试器可能会在许多地方进入
robocorp-log代码,即使这些代码不在源代码中(您可能希望配置您正在使用的调试器以跳过robocorp.log的调用,因为这通常是实现细节)。 -
在导入任何应自动记录的模块之前,必须完全设置日志记录。
-
不支持与协程(
async、await和greenlet)一起工作。
指南
API 参考信息
探索我们的 API 以获取详细文档。
变更日志
可以在 变更日志 中找到发布列表和相应的更改。
项目详细信息
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源代码分发
构建分发
robocorp_log-2.9.3.tar.gz 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ecde32a50489af16a9f4941452d729298d809fcf212772559c93965854cdef17 |
|
| MD5 | 15c03463166b08f6a0b140e479c15d75 |
|
| BLAKE2b-256 | 2e5ae3f731c51ebdfdb73b11aba704216655e8968dc744e40f85db22a0ff7e47 |
robocorp_log-2.9.3-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | ef365b5c67c392835cd1af10f898e4ed37b7058e075dc7957bf0cd44653d7100 |
|
| MD5 | 24c7712c57dbbaed79509e9c826087e4 |
|
| BLAKE2b-256 | 7e9c77a0ff8d7e86c285b3ee4489dd779d569265df1c6e263562e76bedebf583 |