Регистрация PyTest в двух отдельных файлах журнала - PullRequest
0 голосов
/ 06 июня 2019

Мне нужно сообщить информацию верхнего уровня как часть журнала тестирования в файле журнала log1 и всех других журналах из различных модулей теста в log2. Текущий глобальный регистратор log1 определен в conftest.py, и все модули используют этот регистратор и запись журнала, как и ожидалось. В лог1. Как

logger = logging.getLogger('')
logger.setLevel(LOG_LEVEL)
handler = logging.FileHandler(LOG_FILE)
handler.setFormatter(LOG_FORMAT)
handler.setLevel(LOG_LEVEL)
logger.addHandler(handler)

Я определил отдельный регистратор в том же файле, который будет использоваться моим модулем отчетности.

log = logging.getLogger(separate)
log.setLevel(LOG_LEVEL)
handler = logging.FileHandler(“different file”)
handler.setFormatter(LOG_FORMAT)
handler.setLevel(LOG_LEVEL)
log.addHandler(handler)

Мои проблемы / вопросы

  1. В моем модуле отчетности я использую только log.info, но он записывается как log1, так и log2. Как мне их отделить? Я ожидаю, что они будут записаны только в log2.
  2. Я пытался установить отдельный регистратор в модуле Report, но получаю тот же результат.
  3. Также я заметил, что все другие журналы тестов также записываются в log2 (они должны быть только в log1)

По сути, оба регистратора по сути одинаковы и записываются в оба файла. Чего мне не хватает

Кроме того, каков наилучший способ сбора такой информации? В настоящее время я собираю эту информацию как тест, но технически это не тест. Я просмотрел образцы SO и другие вопросы, но, похоже, что-то упустил и не смог решить эту проблему Спасибо за помощь.

Обновление: logger - инструмент Python, который не должен использоваться для сбора информации. Использование файла .txt для записи других фрагментов информации - лучший вариант, чем перегрузка логгера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...