Сообщить об ошибке.

Стандартные обработчики StreamHandler и FileHandler

В разделе представлены стандартные, наиболее часто используемые обработчики logging.StreamHandler и logging.FileHandler пакета ведения журналов logging.

Обработчик StreamHandler.

Класс logging.StreamHandler, отправляет выходные данные журналов в потоки, такие как sys.stdout, sys.stderr или любой объект, который поддерживает методы write() и flush().

logging.StreamHandler(stream=None):

Класс logging.StreamHandler возвращает новый экземпляр класса StreamHandler. Если указан поток stream, экземпляр будет использовать его для регистрации выходных данных. В противном случае будет использоваться sys.stderr.

Объект StreamHandler определяет методы.

emit(record):
  • Если указан форматтер, то он используется для форматирования записи record. Затем запись записывается в поток с разделителем строки '\n'.
  • Если присутствует информация об исключении, то она форматируется с использованием traceback.print_exception() и добавляется в поток.
flush():

Очищает поток, вызывая его метод flush(). Обратите внимание, что метод close() унаследован от logging.Handler и не выводится, поэтому иногда может потребоваться явный вызов flush().

setStream(stream):

Отправляет поток экземпляра в указанное значение stream, если оно отличается. Старый поток очищается перед установкой нового потока.

Возвращает старый поток, если поток был изменен, или None, если это не так.


Обработчик FileHandler.

Класс logging.FileHandler, отправляет выходные данные журнала в файл на диске. Он наследует функциональность вывода от logging.StreamHandler.

logging.FileHandler(filename, mode='a', encoding=None, delay=False):

Класс logging.FileHandler() возвращает новый экземпляр класса FileHandler.

Указанный аргумент filename открывается и используется в качестве потока для ведения журнала.

  • Если аргумент mode не указан, то используется режим 'a'.
  • Если аргумент кодировки encoding не равна None, то она используется для открытия файла.
  • Если аргумент delay=True, то открытие файла откладывается до первого вызова метода emit().

По умолчанию файл растет бесконечно.

Объект FileHandler определяет методы.

close():

Закрывает файл.

emit(record):

Выводит запись в файл.

Примеры использования стандартных обработчиков logging.StreamHandler и logging.FileHandler смотрите в разделах: