logging库的使用

6 阅读1分钟

日志等级

  1. bug 调试
  2. info 有用信息
  3. warning 警告
  4. error 错误
  5. critical 严重错误

日志常用参数

属性使用格式描述
asctime%(asctime)s打印日志的时间
levelname%(levelname)s打印当前执行程序名
levelno%(levelno)s打印日志当前行号
message%(message)s打印日志信息

将日志输出至工作台

#导入logging库
import logging

#创建logger对象
logger = logging.getloger("test_logger")

#设置日志等级总开关
logger.setLevel(logging.DEBUG)

#创建控制台实例
sh = logging.StreamHander()
#设置控制台日志等级
sh.setLevel(logging.DEBUG)
#设置控制台日志输出格式
formatter = logging.Formatter('%(levelno)s-%(asctime)s-%(name)s-%(levelname)s-%(message)s')
sh.setFormatter(formatter)

#加载控制台实例到logger中
logger.addHander(sh)

if __name__ == "__main__":
    logging.debug('debug')
    logging.info('info')
    logging.warning('warning')
    logging.error('error')

将日志输出到文件

#导入logging库
import logging

#创建logger对象
logger = logging.getlogger('test_logger')

#设置日志等级总开关
logger.setLevel(logging.DEBUG)

#创建文件实例
fh = logging.FileHander('apt.log','a',encoding='utf-8')
#设置文件输出日志等级
fh.setLevel(logging.DEBUG)
#设置输出格式
formatter = logging.Formatter('%(levelno)s-%(asctime)s-%(name)s-%(levelname)s-%(message)s')
fh.setFormatter(formatter)

#加载文件实例到logger对象中
logger.addHander(sh)

if __name__ == "__main__":
    logger.debug('debug')
    logger.info('info')
    logger.warning('warning')
    logger.error('error')