Selenium wire скрывает избыточное протоколирование
Я использую SeleniumWire, Django, Celery для парсинга
У меня есть много избыточных логов из selenium-wire. Я имею в виду журналы:
Capturing request: sitename
Capturing response: sitename 200 OK
Я хочу скрыть эти журналы. Как настроить логгер/драйвер для скрытия логов selenium-wire?
Я использую обычный регистратор:
import logging
logger = logging.getLogger(__name__)
Мои настройки ведения журнала Django:
# settings.py
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(name)s.%(funcName)s:%(lineno)s- %(message)s'
},
},
# django uses some of its own loggers for internal operations. In case you want to disable them just replace the False above with true.
# A handler for DEBUG. It is basically writing the DEBUG messages into a file called DJANGO_DEBUG.log
'handlers': {
'console': {
'level': 'DEBUG',
'class': 'logging.StreamHandler',
'formatter': 'verbose'
},
},
# A logger for DEBUG which has a handler called 'file'. A logger can have multiple handler
'loggers': {
# notice the blank '', Usually you would put built in loggers like django or root here based on your needs
'': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
},
}
Похоже, вам нужно переопределить регистратор проводов selenium
selenium_logger = logging.getLogger('seleniumwire')
selenium_logger.setLevel(logging.ERROR)
смотрите: https://github.com/wkeeling/selenium-wire/issues/62
Вы можете либо установить это
1. в настройках ведения журнала Django
'loggers': {
'': {
'handlers': ['console'],
'level': 'DEBUG',
'propagate': True,
},
'seleniumwire': {
'handlers': ['console'],
'level': 'WARNING', # Change to WARNING or ERROR to suppress INFO logs
'propagate': False,
},
},
2. на уровне Python
import logging
import seleniumwire
logging.basicConfig(level=logging.DEBUG)
seleniumwire_logger = logging.getLogger('seleniumwire')
seleniumwire_logger.setLevel(logging.WARNING)