У меня есть кодовая база 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
Как я могу легко отфильтровать все журналы, кроме одного (определить белый список)?
Вы можете установить разные уровни журналов для разных регистраторов, используя 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")