Python: логирование и юнит-тест - PullRequest
0 голосов
/ 16 мая 2018

У меня проблема с выводом unittest в моем проекте.Это не большая проблема, но я не понимаю причин и хочу исследовать их.

Среда:

1) conf.py содержит определение логгера

fh = logging.FileHandler(LOG_FILE_NAME)
ff = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - (message)s')
fh.setFormatter(ff)
ch = logging.StreamHandler()
cf = logging.Formatter('%(levelname)s - %(message)s')
ch.setFormatter(cf)

lg = logging.getLogger('logger')
lg.setLevel(LOG_LEVEL)
lg.addHandler(ch)
lg.addHandler(fh)

2) модули приложения импортируют lg из conf и используют его для сбора событий журнала

3) также я добавил unittest для одного из модулей приложения

4), когда язапустить тесты

python3 -m unittest -v project/tests/test-module.py

Я получил следующий вывод консоли:

test_init_ok (project.tests.test-module.TestReportData) ... ok
test_set_report (project.tests.test-module.TestReportData) ... DEBUG - Report is {} ok

У меня нет никаких идей, почему последнее сообщение из оригинального sys.stdout (из conf)отправлено в поток unittest.

Также я буду рад получить советы о лучших практиках.

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