В нашем коде мы добавили пользовательский логический уровень TRACE как:
def add_trace_log_level():
logging.addLevelName(TRACE_LOG_LEVEL, "TRACE")
def trace(self, message, *args, **kws):
if self.isEnabledFor(TRACE_LOG_LEVEL):
# Yes, logger takes its '*args' as 'args'.
self._log(TRACE_LOG_LEVEL, message, args, **kws)
logging.Logger.trace = trace
, а в коде мы используем его как: logger.trace("....")
При тестировании отдельных функций с помощью теста на нос тест не пройденесли add_trace_log_level
не вызывается в начале теста.
Ожидается, что logger.trace
не определено.Мы решили это купить, позвонив add_trace_log_level
в начале каждого теста, но это выглядит как очень плохое решение
Есть ли лучшее решение?Насколько я знаю, тесты должны проходить или не проходить независимо от конфигурации логов.