Вход в стандартный вывод в Python
-
Войдите в
stdout
с помощью функцииlogging.basicConfig()
в Python -
Войдите в
stdout
с помощью функцииlogging.StreamHandler()
в Python

В этом руководстве будут представлены методы записи журналов в файл и стандартный вывод в Python.
Войдите в stdout
с помощью функции logging.basicConfig()
в Python
Если мы хотим распечатать наши журналы в окне консоли и записать журналы внутри файла, мы можем использовать функцию logging.basicConfig()
для этого процесса. Функция logging.basicConfig()
настраивает некоторые основные параметры для ведения журнала в Python. Мы можем использовать параметр stream
этой функции, чтобы указать, что мы также хотим, чтобы этот журнал печатался в окне консоли. Остальная часть конфигурации остается такой же, как запись журнала в файл с помощью функции logging.basicConfig()
. Следующий код демонстрирует, как мы можем писать журналы в окно консоли.
import logging
import sys
#Creating and Configuring Logger
Log_Format = "%(levelname)s %(asctime)s - %(message)s"
logging.basicConfig(filename = "logfile.log",
stream = sys.stdout,
filemode = "w",
format = Log_Format,
level = logging.ERROR)
logger = logging.getLogger()
#Testing our Logger
logger.error("Our First Error Message")
Выход:
2021-06-13 05:15:24,093 - root - ERROR - Our First Error Message
Войдите в stdout
с помощью функции logging.StreamHandler()
в Python
Мы также можем использовать функцию logging.StreamHandler()
для записи логов в окно консоли в Python. Передав sys.stdout
функции logging.StreamHandler()
, мы можем создать обработчик потока, который может выводить сообщение журнала в окно консоли. Затем мы можем добавить этот обработчик потока к нашему объекту регистратора с помощью функции addHandler()
. Следующий фрагмент кода показывает нам, как мы можем выводить сообщения журнала в окно консоли с помощью функции logging.StreamHandler()
.
import logging
import sys
logger = logging.getLogger()
fileHandler = logging.FileHandler("logfile.log")
streamHandler = logging.StreamHandler(sys.stdout)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
streamHandler.setFormatter(formatter)
fileHandler.setFormatter(formatter)
logger.addHandler(streamHandler)
logger.addHandler(fileHandler)
logger.error("This is the first error")
Выход:
2021-06-13 05:03:37,510 - root - ERROR - This is the first error
Мы написали сообщение журнала This is the first error
в файл logfile.log
и окно консоли с функциями logging.FileHandler()
и logging.StreamHandler()
в приведенном выше коде. Сначала мы создали объект логгера, который будем использовать для записи логов с помощью функции logging.getLogger()
. Затем мы создали обработчик файла fileHandler
и присвоили ему logging.FileHandler('logfile.log')
.
После этого мы создали обработчик потока streamHandler
и присвоили ему logging.StreamHandler(sys.stdout)
. После этого мы создали средство форматирования для форматирования нашего вывода с помощью функции logging.Formatter()
и установили средство форматирования для fileHandler
и streamHandler
с помощью функции setFormatter()
. Следуя предыдущему шагу, мы добавили оба новых обработчика к нашему объекту логгера с помощью функции addHandler()
. В конце концов, мы записали сообщение об ошибке в наш файл и окно консоли с помощью logger.error('This is the first error')
.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn