pymysql模块,logging模块,loguru日志模块

发布时间 2023-05-16 21:15:51作者: 3notblv
  • pymysqlpymysql - 断浪狂刀忆年少 - 博客园 (cnblogs.com)
    • 1连接数据库
      • conn = pymysql.connect()获取连接对象
    • 2获取游标
      • cursor = conn.cursor()
    • 3使用sql语句
      • cursor.excute(sql语句)
    • 4获取查询结果
      • cursor.fetchall(),,,元组套元组,一条数据就是一个元素
      • cursor.fetchone(),,,取出元组
    • 每次查询前初始化一个游标
      • connect中的cursorclass参数,相当于conn.cursor中的cursor参数,读出一个列表嵌套字典结构数据
    • 事务
      • 操作序列
      • 要么全部成功,要么全部失败回滚
      • 数据的一致性
      • conn.commit()
  • logging python-常用模块 - 断浪狂刀忆年少 - 博客园 (cnblogs.com)Python实用教程系列——Logging日志模块 - 知乎 (zhihu.com)(3条消息) python 日志 logging模块(详细解析)_天健胡马灵越鸟的博客-CSDN博客_logging模块
    • logging.debug()调试模式
    • logging.warning()警告
    • logging.error()错误
    • logging.critical()严重错误
    • 分五个等级,默认只显示warning等级及以上的
    • 设置日志等级
    • 在文件中输出
      • fh = logging.FileHandler(filename='文件路径')
        logging.basciConfig(level=logging.DEBUG,handlers=[fh])
    • logging.basicConfig()函数中可通过具体参数来更改logging模块默认行为,可用参数有:
      • filename:用指定的文件名创建FiledHandler,这样日志会被存储在指定的文件中。
      • filemode:文件打开方式,在指定了filename时使用这个参数,默认值为“a”还可指定为“w”。
      • format:指定handler使用的日志显示格式。
      • datefmt:指定日期时间格式。
      • level:设置rootlogger(后边会讲解具体概念)的日志级别
      • stream:用指定的stream创建StreamHandler。可以指定输出到sys.stderr,sys.stdout或者文件(f=open(‘test.log’,’w’)),默认为sys.stderr。若同时列出了filename和stream两个参数,则stream参数会被忽略。
    • logging.Formatter()
    • format参数中可能用到的格式化串:
      • %(name)s Logger的名字
      • %(levelno)s 数字形式的日志级别
      • %(levelname)s 文本形式的日志级别
      • %(pathname)s 调用日志输出函数的模块的完整路径名,可能没有
      • %(filename)s 调用日志输出函数的模块的文件名
      • %(module)s 调用日志输出函数的模块名
      • %(funcName)s 调用日志输出函数的函数名
      • %(lineno)d 调用日志输出函数的语句所在的代码行
      • %(created)f 当前时间,用UNIX标准的表示时间的浮 点数表示
      • %(relativeCreated)d 输出日志信息时的,自Logger创建以 来的毫秒数
      • %(asctime)s 字符串形式的当前时间。默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒
      • %(thread)d 线程ID。可能没有
      • %(threadName)s 线程名。可能没有
      • %(process)d 进程ID。可能没有
      • %(message)s用户输出的消息
  • 推荐使用Loguru — 最强大的 Python 日志记录器-Python 实用宝典 (pythondict.com)
    这里不用try的话,记录不到错误日志,所以try记录日志后,还有手工抛出异常,否则框架内的用例执行结果不是fail
    又要当错误信息,又要记录日志采取这种方式
  •