Python Glossary English

все 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Сообщить о неточности