问题描述
我正在做一个自动化项目,我想将结果记录到日志文件中,我创建了一个函数来创建日志文件并将其写入消息中。 我不明白为什么这个日志文件功能不起作用。 附言:示例中的测试运行完美。
def test10(self):
log=User(self.driver)
log.LogIn('By1zx','Cb12')
log.logout()
logFile("INFO",10,True)
#Logger creator
def logFile(level,test,passedornot):
lfile=r'C:\Users\97252\PycharmProjects\Automation\AutomationLogging\log.txt'
logging.basicConfig(level= logging.INFO,filename="lfile",filemode="a")
passtext="Failed"
if(passedornot):passtext="Passed"
if level == "INFO":logging.info(f'The test {test} {passtext}')
if level == "ERROR":logging.error(f'The test {test} {passtext}')
解决方法
我注意到代码效率低下,还有一个小错误。
- 该错误是filename = lfile。无需双引号。您引用的变量不是字符串“ lfile”
logging.basicConfig(level= logging.INFO,filename=lfile,filemode="a")
- 每次调用logFile函数时,它将尝试打开file_pointer以将日志追加到日志文件。如果您更频繁地使用logFile函数,则这将是OS的开销。最好的方法是RotatingFileHandler。值得研究这个库。如果您对此库有任何疑问,请发表评论。