logging模块

要想使用好logging模块首先要知道它的使用流程:

  1. logging类的实例化:logger=logging.getLogger('')
  2. 设置logger的级别,logger.setLevel(logging.DEBUG)
  3. 处理不同级别logger事件对应的不同的handle类的设置:
    fh=logging.FileHandler(filename,filemode),
    fh.setLevel(logging.DEBUG)
    fh.setFormatter(formatter)
    logger.addHandler(fh)
  4. log信息的传递:
    logger.info("i'm very good")

在使用logging过程中遇到的坑:

  1. 不知道logging是继承的(两级:root和一般的日志对象),如果logging.basicConfig对应的是root的设置(默认level为warning)
  2. 给handle设置级别的同时,也应该给实例对象logger设置logging级别[因为1和2的原因导致logger.info('error')打印不出信息]
  3. 没给logger添加handle处理对象。当初始化多个logging类对象后,打印出来的错误信息只写入到第一个初始化对象里,且只生成一个log文件
原文地址:https://www.cnblogs.com/leemiracle/p/5490727.html