Python记录器-Selenium

问题描述

我正在做一个自动化项目,我想将结果记录到日志文件中,我创建了一个函数来创建日志文件并将其写入消息中。 我不明白为什么这个日志文件功能不起作用。 附言:示例中的测试运行完美。

    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}')

      

解决方法

我注意到代码效率低下,还有一个小错误。

  1. 该错误是filename = lfile。无需双引号。您引用的变量不是字符串“ lfile”
logging.basicConfig(level= logging.INFO,filename=lfile,filemode="a")
  1. 每次调用logFile函数时,它将尝试打开file_pointer以将日志追加到日志文件。如果您更频繁地使用logFile函数,则这将是OS的开销。最好的方法是RotatingFileHandler。值得研究这个库。如果您对此库有任何疑问,请发表评论。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...