如何控制机器人框架中纯文本调试文件的日志级别?
How can I control log level of plain-text debug files in robot framework?
我已阅读 this documentation,其中解释了如何在执行期间创建纯文本日志文件。正如它所说,它是 Debug File
和 All 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 ...
侦听器界面使您能够执行套件、测试和关键字启动和停止的操作。这些方法都包含在文档中。
我已阅读 this documentation,其中解释了如何在执行期间创建纯文本日志文件。正如它所说,它是 Debug File
和 All 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 ...
侦听器界面使您能够执行套件、测试和关键字启动和停止的操作。这些方法都包含在文档中。