机器人框架和Python日志记录:从多个线程记录并记录通道名称

时间:2017-10-24 23:50:04

标签: python logging robotframework

我在Robot Framework测试套件中的库中广泛使用Python标准日志记录。正如预期的那样,这些日志消息出现在RF日志中,除了两个问题:

  1. 一些库创建线程。这些附加线程上的日志消息无法到达RF日志。
  2. 对于每个库,我遵循创建以模块/类self._logger = logging.getLogger( __name__ )命名的日志记录通道的标准做法,但我似乎无法以任何方式格式化日志记录以使这些通道名称出现在RF日志中
  3. 如果我从常规Python脚本而不是RF运行这些库,我会从其他线程获取日志消息,并且我可以格式化所有消息以显示通道名称。因此在RF中使用它们时存在一些问题。

    我正在使用RF3,Python3并在Raspbian下运行。

1 个答案:

答案 0 :(得分:0)

引用Robot Framework用户指南:

“非主线程使用程序化日志记录API中的常规日志记录方法记录的消息将被忽略。”

http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#communication-when-using-threads

您可以尝试使用此用户提供的模块作为解决方法:

https://github.com/robotframework/robotbackgroundlogger