Я использую несколько модулей в своем проекте, однако модули выводят множество журналов из регистратора, что раздражает. Поэтому я выключаю журналы:Как отключить регистраторы из других модулей?
boto_log = logging.getLogger("boto")
boto_log.setLevel(logging.CRITICAL)
es_log = logging.getLogger("elasticsearch")
es_log.setLevel(logging.CRITICAL)
urllib3_log = logging.getLogger("urllib3")
urllib3_log.setLevel(logging.CRITICAL)
Хотя это работает, код выглядит многословным. Есть ли лучший, более простой способ, которым я могу это сделать?
Так что мне все еще нужно перебирать все модули, которые сами используют регистраторы? – shihpeng
Кто-то может придумать лучший способ, но, по крайней мере, это не так много. Я бы сказал, что «явный лучше, чем неявный», поэтому я не думаю, что это плохая идея явно отключить журналы, которые я хочу отключить (вместо того, чтобы делать это автоматически и потерять какое-то важное сообщение из-за этого). Похож на хороший компромисс между ясностью и простотой использования. –
«Явное лучше, чем неявное» Я согласен с этим :) – shihpeng