selenium日志模块

1.默认情况下,logging将日志打印到屏幕,日志级别为WARNING,

日志级别大小关系为CRITICAL>ERROR>WARNING>INFO>DEBUG>BOTSET,当然也可以自己定义日志级别。

2.通过logging.basicConfig函数对日志的输出格式及方式做相关配置。

查看源码,该函数下含以下几个常用参数可以控制日志的输出格式


selenium日志模块_第1张图片
控制日志输出格式的参数

logging.basicConfig函数各参数:

filename:指定日志文件名

filemode:和file函数意义相同,指定日志文件的打开模式,'w'或'a'

format:指定输出的格式和内容,format可以输出很多有用的信息,如上例所示

%(levelno)s:打印日志级别的数值

%(levelname)s:打印日志级别名称

%(pathname)s:打印当前执行程序的路径,其实就是sys.argc[0]

%(filename)s:打印当前执行程序名

%(funcName)s:打印日志的当前函数

%(lineno)d:打印日志的当前行数

%(asctime)s:打印日志的时间,默认格式是 “2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(thread)d:打印线程ID

%(threadName)s:打印线程的名称

%(process)d:打印进程ID

%(message)s:打印日志信息

datafmt:指定时间格式,同time.strftime()

level:设置日志级别,默认为logging.WARNING

stream:指定将日志的输出流,可以指定输出到sys.stderr,sys.stdout或者文件,默认输出到sys.stderr,当stream和filename同时指定时,stream被忽略。

3.将日志同时输出到文件和屏幕


selenium日志模块_第2张图片

屏幕中打印信息和文件中的信息查看:


selenium日志模块_第3张图片

4.logging日志回滚


selenium日志模块_第4张图片

从上例和本例中可以看出,logging有个日志处理主对象,其他处理方式都是通过addHander添加进去的,logging的几种handler方式如下:

logging.StreamHandler:日志输出到流,可以是sys.stderr、sys.stdout或者文件

logging.FileHandler:日志输出到文件

日志回滚方式,实际使用时用RotatingFileHandler和TimeRotatingFileHandler

logging.handlers.BaseRotatingHandler

logging.handlers.RotatingFileHandler

logging.handlers.TimedRotatingFileHandler

logging.handlers.SocketHandler: 远程输出日志到TCP/IP sockets

logging.handlers.DatagramHandler:  远程输出日志到UDP sockets

logging.handlers.SMTPHandler:  远程输出日志到邮件地址

logging.handlers.SysLogHandler: 日志输出到syslog

logging.handlers.NTEventLogHandler: 远程输出日志到Windows NT/2000/XP的事件日志

logging.handlers.MemoryHandler: 日志输出到内存中的制定buffer

logging.handlers.HTTPHandler: 通过"GET"或"POST"远程输出到HTTP服务器

由于StreamHandler和FileHandler是常用的日志处理方式,所以直接包含在logging中,而其他方式则包含在logging.handler中。

logging简单的一个实践:

import logging # 引入日志模块

from selenium import webdriver

# 日志文件保存在当前目录下的example.log中

logging_file = 'example.log'

logging.basicConfig(filename=logging_file,level=logging.DEBUG)

logging.debug('begin selenium')

driver = webdriver.Chrome()

logging.debug('creat chrome')

print(driver.capabilities['version'])

logging.debug('print chrome version')


查看日志文件:

selenium日志模块_第5张图片

你可能感兴趣的:(selenium日志模块)