【问题标题】:Robot Framework and Python Logging: Logging from multiple threads and logging channel namesRobot Framework 和 Python 日志记录:从多个线程进行日志记录和记录通道名称
【发布时间】:2018-01-25 01:01:40
【问题描述】:

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

  1. 一些库创建线程。这些额外线程上的日志消息不会到达 RF 日志。
  2. 对于每个库,我遵循创建以模块/类 self._logger = logging.getLogger( __name__ ) 命名的日志记录通道的标准做法,但我似乎无法以任何方式格式化日志记录以使这些通道名称出现在 RF 日志中。

如果我从常规 Python 脚本而不是 RF 运行这些库,我会从其他线程获取日志消息,并且我可以格式化所有消息以显示通道名称。所以在 RF 中使用它们时会出现一些问题。

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

【问题讨论】:

    标签: python logging robotframework


    【解决方案1】:

    引用自机器人框架用户指南:

    “非主线程使用编程日志 API 中的正常日志方法记录的消息将被静默忽略。”

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

    您可以尝试这个用户贡献的模块作为解决方法:

    https://github.com/robotframework/robotbackgroundlogger

    【讨论】:

      猜你喜欢
      • 2021-09-16
      • 1970-01-01
      • 2016-08-12
      • 2020-07-11
      • 1970-01-01
      • 2011-06-17
      • 1970-01-01
      • 2023-03-11
      • 2013-06-12
      相关资源
      最近更新 更多