我的python代碼使用日誌框架生成日誌文件,並且所有INFO
消息都被捕獲到日誌文件中。我將我的程序與ROBOT框架集成,現在不會生成日誌文件。相反INFO
消息打印在log.html
。我知道這是因爲機器人現有的記錄器正在被調用,因此INFO
指向log.html
。我不希望行爲發生變化,我仍然希望用戶定義的日誌文件只與INFO
級別的消息分開生成。未打印機器人框架信息消息
我該如何做到這一點?
我的python代碼使用日誌框架生成日誌文件,並且所有INFO
消息都被捕獲到日誌文件中。我將我的程序與ROBOT框架集成,現在不會生成日誌文件。相反INFO
消息打印在log.html
。我知道這是因爲機器人現有的記錄器正在被調用,因此INFO
指向log.html
。我不希望行爲發生變化,我仍然希望用戶定義的日誌文件只與INFO
級別的消息分開生成。未打印機器人框架信息消息
我該如何做到這一點?
現在這個問題已經修復,這是一個很小的問題。但我仍然深入分析,當我清楚確切的原因時會更新。 這是我使用的模塊, DEF call_logger(logger_name,日誌文件): 水平= logging.INFO 升= logging.getLogger(logger_name) 如果不是getattr的(1, 'handler_set',無): 格式化= log.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」更改爲不同的名稱「log_file」時,它就起作用了。 看起來像「logFile」是一個內置的機器人關鍵字。
Python代碼 - >日誌庫 - > 「日誌文件」
RobotFramework - > Python代碼 - >日誌庫 - >默認 「log.html」
當您運行使用Python代碼它將允許您設置日誌文件名稱。 但是,當您使用robotframework運行時,該文件默認設置爲log.html(因爲機器人在內部使用您正在使用的內部相同的日誌記錄庫),所以您的日誌記錄功能將被robotframework覆蓋。
這就是爲什麼你在log.html而不是你的文件中看到它。
您也可以參考Robot Framework not creating file or writing to it
希望它能幫助!
您能否介紹一下您如何創建和使用您的記錄器等?你使用的是默認記錄器嗎? –
請包括這是使用機器人記錄器界面還是使用Listener API? –