все Python 3loggingпонятие
logging.Handler
обработчики
Базовый класс для всех обработчиков логов. Определяет, куда и как отправляются записи: в консоль, файл, сеть. Не используется напрямую.
Синтаксис
handler.setLevel(level)
handler.setFormatter(formatter)
logger.addHandler(handler)
Уровень проверяется дважды — сначала логгером, потом обработчиком, поэтому setLevel(DEBUG) на обработчике ничего не даст, пока сам логгер стоит на WARNING. Один логгер может нести несколько обработчиков с разными уровнями и форматтерами: типовая связка — подробности в файл, только ошибки в консоль. Свой обработчик пишут, наследуя Handler и реализуя emit(); повторный addHandler внутри функции, которую вызывают не один раз, — обычная причина задвоенных строк.
Примеры
import logging
# Handler — абстрактный базовый класс
# Используй конкретные подклассы:
sh = logging.StreamHandler() # консоль
fh = logging.FileHandler('app.log') # файл
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности