Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 机器人框架信息消息未打印_Python_Logging_Robotframework - Fatal编程技术网

Python 机器人框架信息消息未打印

Python 机器人框架信息消息未打印,python,logging,robotframework,Python,Logging,Robotframework,我的python代码使用日志框架生成一个日志文件,所有INFO消息都被捕获到日志文件中。我将我的程序与ROBOT框架集成,现在没有生成日志文件。相反,INFO消息将打印在log.html中。我理解这是因为正在调用robot现有记录器,因此INFO被定向到log.html。我不想改变行为,我仍然希望用户定义的日志文件单独生成,只包含INFO级别的消息 我怎样才能做到这一点呢?这个问题现在已经解决了,这是一个非常小的问题。但我仍在深入分析,当我弄清楚确切的原因时,我会更新。 这是我使用的模块 def

我的python代码使用日志框架生成一个日志文件,所有
INFO
消息都被捕获到日志文件中。我将我的程序与ROBOT框架集成,现在没有生成日志文件。相反,
INFO
消息将打印在
log.html
中。我理解这是因为正在调用robot现有记录器,因此
INFO
被定向到
log.html
。我不想改变行为,我仍然希望用户定义的日志文件单独生成,只包含
INFO
级别的消息


我怎样才能做到这一点呢?

这个问题现在已经解决了,这是一个非常小的问题。但我仍在深入分析,当我弄清楚确切的原因时,我会更新。 这是我使用的模块

def call_logger(logger_name, logFile):
        level = logging.INFO
        l = logging.getLogger(logger_name)
        if not getattr(l, 'handler_set', None):
                formatter = logging.Formatter('%(asctime)s : %(message)s')
                fileHandler = logging.FileHandler(logFile, mode = 'a')
                fileHandler.setFormatter(formatter)
                streamHandler = logging.StreamHandler()
                streamHandler.setFormatter(formatter)
                l.setLevel(level)
                l.addHandler(fileHandler)
                l.addHandler(streamHandler)
                l.handler_set = True
当我将参数“logFile”更改为另一个名称“logu file”时,它起作用了。
看起来“logFile”是一个内置的robot关键字。

问题现在已经解决,这是一个非常小的问题。但我仍在深入分析,当我弄清楚确切的原因时,我会更新。 这是我使用的模块

def call_logger(logger_name, logFile):
        level = logging.INFO
        l = logging.getLogger(logger_name)
        if not getattr(l, 'handler_set', None):
                formatter = logging.Formatter('%(asctime)s : %(message)s')
                fileHandler = logging.FileHandler(logFile, mode = 'a')
                fileHandler.setFormatter(formatter)
                streamHandler = logging.StreamHandler()
                streamHandler.setFormatter(formatter)
                l.setLevel(level)
                l.addHandler(fileHandler)
                l.addHandler(streamHandler)
                l.handler_set = True
当我将参数“logFile”更改为另一个名称“logu file”时,它起作用了。 “日志文件”似乎是内置的robot关键字。

Python代码-->日志库-->“日志文件”

RobotFramework-->Python代码-->日志库-->默认为“log.html”

当您使用python代码运行时,它将允许您设置日志文件名。 但是,当您使用robotframework运行时,该文件默认设置为log.html(因为robot在内部使用与您使用的日志库相同的日志库),因此您的日志函数将被robotframework的日志函数覆盖

这就是为什么您会在log.html中看到它而不是您的文件

你也可以参考

希望有帮助

Python代码-->日志库-->“日志文件”

RobotFramework-->Python代码-->日志库-->默认为“log.html”

当您使用python代码运行时,它将允许您设置日志文件名。 但是,当您使用robotframework运行时,该文件默认设置为log.html(因为robot在内部使用与您使用的日志库相同的日志库),因此您的日志函数将被robotframework的日志函数覆盖

这就是为什么您会在log.html中看到它而不是您的文件

你也可以参考


希望有帮助

你能描述一下你是如何创建和使用你的日志的吗?您是否使用默认记录器?请说明这是使用robot logger接口还是侦听器API?您能否描述如何创建和使用记录器等?您是否使用默认记录器?请说明这是使用robot logger接口还是侦听器API?