python_selenium 之logging模块入门及调用实战

一、logging模块是什么?

是Python内置的标准模块,主要用于输出运行日志

 二、日志的作用

  • 日志是代码的必要组成部分
  • 记录日志能显示程序当前运行状态
  • 出问题后定位当时问题

三、python日志级别

DEBUG:调试信息
INFO:有用的信息
WARNING:警告信息 (默认日志级别)
ERROR:错误信息
CRITICAL:严重错误信息
NOTSET:非级别,表示不设置,按照父logger级别来过滤日志

日志级别关系:

NOTSET < DEBUG < INFO < WARNING < ERROR < CRITICAL

备注:如果把log的级别设置为INFO, 那么小于INFO级别的日志都不输出, 大于等于INFO级别的日志都输出。也就是说,日志级别越高,打印的日志越不详细。

四、logging模块实战

  4.1  封装做成公共模块

 

import os
import logging

current_path = os.path.dirname(__file__)
log_path = os.path.join( current_path ,'../logs/test.log' )

class LogUtils:
def __init__(self,logfile_path = log_path ):
self.logfile_path = logfile_path
self.logger = logging.getLogger('Logger')
self.logger.setLevel(level=logging.INFO)
file_log = logging.FileHandler(self.logfile_path) #将日志写入指定路径下
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') #日志的格式
file_log.setFormatter(formatter)
self.logger.addHandler(file_log)

def info(self,message):
self.logger.info( message )

def error(self,message):
self.logger.error(message)

logger = LogUtils() #创建一个对象

if __name__=='__main__':
log_utils = LogUtils()
log_utils.info( 'newdream' )

 

备注:在日志封装模块内创建一个类对象,这样的话调用就方便很多,且不会出现重复数据问题。

 

4.2  调用

 

 

 

posted @ 2020-05-07 23:35  安琪儿一直在  阅读(619)  评论(0编辑  收藏  举报