在我的一个项目中,我们在使用各种 ECU 和 PC 的复杂测试环境中使用带有自定义关键字库的 Robot Framework。一个关键字库必须由 python 远程服务器通过 XML-RPC 控制,因为它必须在另一台 PC 上。
现在,来自robot.api.logger 调用的所有重要消息,例如logger.debug()
oder logger.console()
,都被XML-RPC 吞没了。这是一个已知问题,在docs中也有明确说明。
在大多数情况下,这些 API 的工作方式与正常使用 Robot Framework 时完全一样。主要限制是目前不支持使用robot.api.logger 或Python 的日志模块进行日志记录。
可以为 编写一个瘦包装器或装饰器robot.api.logger
,以便将所有调试消息重定向到一个简单的 txt 文件,例如:
DEBUG HH:MM:SS > Message
WARN HH:MM:SS > Message
如果出现问题,这将非常有帮助。
当然,使用内置的 python 日志记录模块很容易,但我正在寻找一个解决方案,改变现有代码的最少数量,并且我还希望将结果写入文本文件,而不是正常robots.api.logging 到机器人报告,因为我们以本地和远程方式使用相同的库。
所以基本上我需要找到一种方法来扩展/重定向robot.api.logger
调用,首先使用普通的 python 日志记录模块,然后使用普通的robot.api.logger
.