一.日志概述

日志作用

在项目开发或测试过程中,项目运行一旦出现问题,记录日志信息就显得尤为重要。主要通过日志来定位问题,就好比侦探人员要根据现场留下的线索来推断案情。

日志级别

级别

使用情况

DEBUG

调试信息,也是最详细的日志信息

INFO

证明事情按预期工作

WARNING

表明发生了一些意外,或不久的将来会发生问题(如 磁盘满了),软件还是正常工作

ERROR

由于更严重的问题,软件已经不能执行一些工作了

CRITICAL

严重错误,表明软件已经不能继续运行了

  • 日志级别排序为:CRITICAL > ERROR > WARNING > INFO > DEBUG
  • 日志采集时设置低级别的日志,能采集到更高级别的日志,但不能采集到更低级别的日志
日志格式
  • 时间+模块+行数+日志级别+日志具体信息
  • 2020-09-30 10:45:05,119 logging_test.py[line:7] DEBUG this is debug message.

二.日志模块

描述

logging为python自带的日志模块,提供了通用的日志系统,包括不同的日志级别。logging可使用不同的方式记录日志,如使用文件,HTTP GET/POST,SMTP,Socket等方式记录。通常情况下使用文件记录日志信息,文件格式一般为.txt或.log文件。

导入模块

import logging

用法和参数

logging.basicConfig(**kwargs)
- filename:指定日志名称或完整路径,如:E:/app-ui-autotest/log/log.txt
- filemode:指定打开文件的模式(如果文件打开模式未指定,则默认为’a’)
- format:指定日志输出格式
- level:将根记录器级别设置为指定级别

import logging

logging.basicConfig( 
    level=logging.DEBUG
)
logging.debug('This is debug message')			# DEBUG:root:This is debug message
logging.info('This is info message')			# INFO:root:This is info message
logging.warning('This is warning message')		# WARNING:root:This is warning message
logging.error('This is error message')			# ERROR:root:This is error message
logging.critical('This is critical message')	# CRITICAL:root:This is critical message