如何控制机器人框架中纯文本调试文件的日志级别?

How can I control log level of plain-text debug files in robot framework?

我已阅读 this documentation,其中解释了如何在执行期间创建纯文本日志文件。正如它所说,它是 Debug FileAll messages got from test libraries are written to them;但我正在寻找一种方法来控制其内容的日志级别。没有任何机制或技巧来获得它吗?甚至任何其他机器人框架选项也具有 Debug file 的功能(在测试进行时将测试执行消息写入纯文本)?

无法控制进入调试文件的详细信息量。调试文件的重点是创建用于调试目的的详细输出。

如果您希望将信息写入纯文本文件,因为测试是 运行,您可以创建一个 listener 可以随时随地写入任何内容。

例如,假设您想写下每个测试的开始和结束时间。第一步是创建一个监听器。对于此示例,创建一个名为 "CustomLog.py" 的文件,其中包含以下内容:

import datetime
class CustomLog:
    ROBOT_LISTENER_API_VERSION = 2

    def __init__(self, filename='listen.txt'):
        self.logfile = open("/tmp/robot.log", 'w')

    def _write(self, message):
        now = datetime.datetime.now()
        self.logfile.write(str(now) + " " + message + "\n")
        self.logfile.flush()

    def start_test(self, name, attrs):
        self._write("start_test: %s" % name)

    def end_test(self, name, attrs):
        self._write("end_test: %s (%s)" % (name, attrs["status"]))

    def close(self):
        self.logfile.close()

您可以通过 --listener 参数将此文件的名称传递给机器人:

robot --listener CustomLog.py ...

侦听器界面使您能够执行套件、测试和关键字启动和停止的操作。这些方法都包含在文档中。