selenium之logging模块的应用
一、logging模块是什么?
logging模块是python内置的标准模块,主要用于输出运行日志,可以设置日志级别,日志保存路径等。
二、logging模块的基础使用
2.1 日志级别
DEBUG :调试信息
INFO :有用信息
WARNING:警告信息
ERROR:错误信息
CRITICAL:严重错误信息
日志级别关系:DEBUG < INFO < WARNING < ERROR < CRITICAL
如果日志级别设置为INFO,则小于INFO级别的日志都不输出,大于等于INFO级别的日志都输出。
2.2 基础使用
import logging
logging.debug('debug')
logging.info('info')
logging.warning('warning')
logging.error('error')
logging.critical('critical')
未设置日志输出级别,默认从warning级别以及之上的进行输出,输出结果如下:
WARNING:root:warning
ERROR:root:error
CRITICAL:root:critical
2.3 定义日志显示格式
Formatter 定义日志输出格式
%(asctime)s:打印日志时间
%(lineno)d:打印日志当前行数
%(levelname)s:打印日志级别
%(filename)s:打印日志文件名
%(message)s:打印日志结果
三、handlers基础应用
3.1 StreamHandler 控制台输出日志
import logging
logger = logging.getLogger(__name__) # 创建一个日志对象 定义一个名称
logger.setLevel(level = logging.INFO) # 设置全局日志级别
console =logging.StreamHandler() # 创建一个控制台输出日志的对象
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') #设置输出日志格式
console.setFormatter(formatter)
logger.addHandler(console) # 日志对象配置在控制台输出
logger.info('hello,word') # 替换print
上面运行输出:2020-05-06 15:19:41,974 - __main__ - INFO - hello,word
3.2 FileHandler 日志输出到文件
import os
import logging
current_path = os.path.dirname(__file__)
log_path = os.path.join(current_path, '../../logs/test.log')
logger = logging.getLogger(__name__)
logger.setLevel(level = logging.INFO)
file_log =logging.FileHandler(log_path)
formatter = logging.Formatter('file:%(asctime)s - %(name)s - %(levelname)s - %(message)s')
file_log.setFormatter(formatter)
logger.addHandler(file_log)
logger.info('hello,word')
上面代码执行后,控制台不会输出日志,会在logs下生成一个test.log文件(有就不生成)