Мне нужно сообщить информацию верхнего уровня как часть журнала тестирования в файле журнала 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)
Мои проблемы / вопросы
- В моем модуле отчетности я использую только log.info, но он записывается как log1, так и log2. Как мне их отделить? Я ожидаю, что они будут записаны только в log2.
- Я пытался установить отдельный регистратор в модуле Report, но получаю тот же результат.
- Также я заметил, что все другие журналы тестов также записываются в log2 (они должны быть только в log1)
По сути, оба регистратора по сути одинаковы и записываются в оба файла. Чего мне не хватает
Кроме того, каков наилучший способ сбора такой информации? В настоящее время я собираю эту информацию как тест, но технически это не тест.
Я просмотрел образцы SO и другие вопросы, но, похоже, что-то упустил и не смог решить эту проблему Спасибо за помощь.
Обновление:
logger - инструмент Python, который не должен использоваться для сбора информации. Использование файла .txt для записи других фрагментов информации - лучший вариант, чем перегрузка логгера.