python logging去掉selenium大量的日志

问题

二次封装logging模块,设置级别为DEBUG,默认所有级别的日志都可以收集到;在发起ui自动化,打开浏览器输入网址,进行页面操作时,打印了大量的connectionpool、remote_connection的日志,包括发起请求,请求返回的内容等;这次的页面操作打印的日志被掩盖大量的日志,查看日志很难分辨出哪里出现了问题。 

如:

[connectionpool.py:_make_request:433]-日志信息:http://127.0.0.1:57124 "POST

DEBUG-[remote_connection.py:_request:440]-日志信息:Finished Request

DEBUG-[connectionpool.py:_new_conn:226]-日志信息:Starting new HTTP connection (1): 127.0.0.1

解决方法

在日志模块,引入这个模块的logger,设置收集日志的级别,不收集debug的

LOGGER.setLevel(logging.WARNING)

 

如下,不想打印和记录remote_connection.py:_request的日志:

2022-08-04 13:51:07,788-DEBUG-[remote_connection.py:_request:440]-日志信息:Finished Request

 

在封装的log类中或使用log的文件头加,引入remote_connection import LOGGER,设置级别为WARNING级别

import logging
import re
import os
from logging.handlers import TimedRotatingFileHandler
from selenium.webdriver.remote.remote_connection import LOGGER
from requests.packages.urllib3.connectionpool import log as conplLogger

LOGGER.setLevel(logging.WARNING)
conplLogger.setLevel(logging.WARNING)

class LogPrint:
    def __init__(self):
        # my_logger,获取到getLogger().info(),获取到的filename正确,但通过封装后,filename则是当前logname
        self.logger = logging.getLogger()

        # 设置日志的收集级别, 必须要设置为DEBUG,默认收集warning级别以上的错误(不设置收集不到info error的日志)
        self.logger.setLevel("DEBUG")

设置成功后,重新执行,打印日志正常

如果想要继续收集这个模块的日志,将封装的log模块,设置的级别去掉即可

参考文章:https://www.it1352.com/1877735.html

posted on 2022-08-04 15:55  刚刚好1  阅读(946)  评论(0)    收藏  举报

导航