Запись журналов в файл на Python

  1. Запись журналов в файл с помощью модуля logging в Python
  2. Запись журналов в файл с помощью функции logging.FileHandler() в Python

В этом руководстве будут представлены методы записи журналов в файл на Python.

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

Журналы используются для отладки программы и выяснения того, что пошло не так. Модуль logging используется для записи данных в файл на Python. Мы можем использовать функцию logging.basicConfig() для настройки записи журналов в определенный файл. По умолчанию с помощью модуля logging мы можем логировать 5 типов строк. Эти типы сообщений включают отладочные, информационные, предупреждения, ошибки и критические. Тем не менее, мы можем увеличить это число до того, что нам нужно, с помощью кодирования. В следующем примере кода показано, как записывать журналы в файл с помощью функции logging.basicConfig().

import logging

#Creating and Configuring Logger

Log_Format = "%(levelname)s %(asctime)s - %(message)s"

logging.basicConfig(filename = "logfile.log",
                    filemode = "w",
                    format = Log_Format, 
                    level = logging.ERROR)

logger = logging.getLogger()

#Testing our Logger

logger.error("Our First Log Message")

Содержимое файла logfile.log:

ERROR 2021-06-13 04:14:29,604 - Our First Log Message

Мы написали сообщение журнала Our First Log Message уровня error с правильной датой и временем регистрации, используя функцию logging.basicConfig() в приведенном выше коде. Самое главное при написании логов - это дата и время их появления. Итак, сначала мы создали формат для наших логов внутри строки Log_Format. Этот формат включает в себя уровень журнала, дату и время возникновения, а также сообщение, которое нужно записать.

Затем мы используем параметр filename функции logging.basicConfig(), чтобы указать файл журнала. Мы присвоили значение a параметру filemode функции logging.basicConfig(), чтобы открыть файл в режиме append, чтобы предыдущие журналы не удалялись каждый раз, когда появляется новый журнал. Затем мы устанавливаем параметр format на Log_Format. После этого шага мы присвоили параметру level параметр logging.ERROR, чтобы указать минимальный уровень журналов для ошибок. Мы создали объект регистратора с logger = logging.getLogger() для записи сообщений журнала. В конце концов, мы написали сообщение об ошибке с помощью logger.error("Our First Log Message").

Запись журналов в файл с помощью функции logging.FileHandler() в Python

Мы также можем использовать функцию logging.FileHandler() для записи логов в файл на Python. Эта функция берет путь к файлу, в который мы хотим записывать наши журналы. Затем мы можем использовать функцию addHandler(), чтобы добавить этот обработчик к нашему объекту регистратора. В приведенном ниже коде показано, как записывать логи в файл с помощью функции logging.FileHandler().

import logging

logger = logging.getLogger()
handler = logging.FileHandler('logfile.log')
logger.addHandler(handler)
logger.error('Our First Log Message')

logfile.log содержимое:

Our First Log Message

Мы записали сообщение журнала Our First Log Message в файл logfile.log с помощью функции logging.FileHandler() в приведенном выше коде. Сначала мы создали объект логгера, который будем использовать для записи логов с помощью функции logging.getLogger(). Затем мы создаем обработчик файла, handler, и назначаем ему logging.FileHandler('logfile.log'). После этого мы добавили этот новый handler к нашему объекту логгера с помощью logger.addHandler(handler). В конце концов, мы записали сообщение об ошибке в наш файл с помощью logger.error('Our First Log Message').

Сопутствующая статья - Python Logging

  • Вход в стандартный вывод в Python
  • Зарегистрируйте ошибку с помощью отладочной информации в Python