«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как войти в файл и в стандартный вывод с помощью модуля ведения журнала Python?

Как войти в файл и в стандартный вывод с помощью модуля ведения журнала Python?

Опубликовано 1 ноября 2024 г.
Просматривать:669

How to Log to Both File and Stdout using the Python Logging Module?

Запись в файл и на стандартный вывод в Python с помощью модуля журналирования.

При использовании модуля журналирования Python желательно иметь вывод сообщений журнала не только в указанный файл журнала, но и в стандартный вывод для немедленной видимости. Для достижения этой цели модуль журналирования предоставляет простое решение.

Конфигурация журналирования использует обработчики для прямого вывода. Добавив экземпляр logging.StreamHandler() в корневой регистратор, можно отправлять сообщения на стандартный вывод в дополнение к их предполагаемым адресатам.

Пример настройки обработчика потока для вывода на стандартный вывод:

import logging
import sys

# Get the root logger
root = logging.getLogger()

# Set the root logger level to DEBUG
root.setLevel(logging.DEBUG)

# Create a stream handler and set its level to DEBUG
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.DEBUG)

# Create a formatter to format the log messages
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

# Add the handler to the root logger
root.addHandler(handler)

При реализации этой конфигурации становится ненужным дублировать сообщения журнала с использованием как методов регистратора, так и операторов печати стандартного вывода. Такие средства ведения журнала, как mylogger.critical("что-то не удалось"), будут выводить данные как в назначенный файл журнала, так и в стандартный вывод, обеспечивая немедленную видимость и сохраняя при этом надлежащие методы ведения журнала.

Заявление о выпуске Эта статья перепечатана по адресу: 1729249097. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3