Остановить запись субмодулей - запуск скрипта из командного файла - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть скрипт на python с синтаксическим анализатором аргументов cli (на основе argparse). Я вызываю его из пакетного файла:

set VAR1=arg_1
set VAR2=arg_2

python script.py --arg1 %VAR1% --arg2 %VAR2%

в script.py, который я вызываю в логгере:

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
  • Этот скрипт использует chromedriver, selenium и запросы для автоматизации некоторых щелчков и перемещений между веб-страницами.
  • При запуске из PyCharm (настроен так, чтобы в скрипте было arg_1 иarg_2 передано ему) все отлично - я получаю сообщения журнала только от своего регистратора.
  • Когда я запускаю пакетный файл - я получаю кучу сообщений журнала от chromedriver или запросов (я думаю).

Я пробовал:

  • @echo off в начале пакетного файла.
  • Установка уровня в корнеlogger.
  • Получение словаря журнала ведения журнала и установка для каждого регистратора значения WARNING - на основе этого вопроса .

Ничего из этого не работает, и я продолжаю получать сообщения регистрациииз подмодулей - ТОЛЬКО при запуске из командного файла.

Кто-нибудь знает, как это исправить?

1 Ответ

0 голосов
/ 11 декабря 2018

Для этого можно использовать следующие параметры конфигурации

import logging.config
logging.config.dictConfig({
    'version': 1,
    'disable_existing_loggers': True,
})
...