Как внести белый список в модуль регистрации

1

У меня есть кодовая база python со многими определенными регистраторами, и это приводит к труднодоступному выводу журнала. Я ищу способ отфильтровать все регистраторы, кроме тех, которые меня интересуют, например:

import logging

logger_A = logging.getLogger("A")
logger_B = logging.getLogger("B")


logger_A.error("this is A error")
logger_B.error("this is B error")
# logging.whitelist(['A'])

должен выводить:

this is A error

Как я могу легко отфильтровать все журналы, кроме одного (определить белый список)?

Теги:
python-3.x
python-3.6

1 ответ

1

Вы можете установить разные уровни журналов для разных регистраторов, используя setLevel. Вы можете установить регистраторы, которые вы не заинтересованы в CRITICAL, и те, которые вы используете для чего-то более низкого, например DEBUG:

import logging

logger_A = logging.getLogger("A")
logger_B = logging.getLogger("B")

logger_A.setLevel(logging.DEBUG)
logger_B.setLevel(logging.CRITICAL)
logger_A.error("this is A error")
logger_B.error("this is B error")
  • 0
    Это потребовало бы прикосновения к каждому возможному регистратору, что я не хочу делать.
  • 0
    Вы можете прикрепить нового писателя только к тем регистраторам, которые вам нужны.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню