Вход в Python

Вход в Python

Ведение журнала является очень полезным инструментом в наборе инструментов для программиста. Это может помочь вам лучше понять ход программы и обнаружить сценарии, о которых вы, возможно, даже не задумывались при разработке.

Журналы предоставляют разработчикам дополнительный набор глаз, которые постоянно смотрят на поток, через который проходит приложение. Они могут хранить информацию о том, какой пользователь или IP получил доступ к приложению. Если возникает ошибка, то они могут предоставить больше информации, чем трассировка стека, сообщив вам, в каком состоянии находилась программа до того, как она достигла строки кода, где произошла ошибка.

Записывая полезные данные из нужных мест, вы можете не только легко отлаживать ошибки, но и использовать данные для анализа производительности приложения, планирования масштабирования или просмотра схем использования для планирования маркетинга.

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

*Бесплатный бонус:* ссылка: [5 Thinkts On Python Mastery], бесплатный курс для разработчиков Python, который показывает вам план и мышление, необходимые для перехода на новый уровень Python.

Модуль регистрации

Модуль регистрации в Python - это готовый к использованию и мощный модуль, разработанный для удовлетворения потребностей как начинающих, так и корпоративных групп. Он используется большинством сторонних библиотек Python, поэтому вы можете интегрировать ваши сообщения журнала с сообщениями из этих библиотек для создания однородного журнала для вашего приложения.

Добавить запись в вашу программу на Python так же просто, как это:

import logging

При импортированном модуле регистрации вы можете использовать то, что называется «регистратором», для регистрации сообщений, которые вы хотите видеть. По умолчанию существует 5 стандартных уровней, указывающих на серьезность событий. Каждый из них имеет соответствующий метод, который можно использовать для регистрации событий на этом уровне серьезности. Определенные уровни в порядке увеличения серьезности следующие:

  • DEBUG

  • INFO

  • ПРЕДУПРЕЖДЕНИЕ

  • ОШИБКА

  • КРИТИЧЕСКИЕ

Модуль регистрации предоставляет вам регистратор по умолчанию, который позволяет вам начать работу без особых настроек. Соответствующие методы для каждого уровня могут быть вызваны, как показано в следующем примере:

import logging

logging.debug('This is a debug message')
logging.info('This is an info message')
logging.warning('This is a warning message')
logging.error('This is an error message')
logging.critical('This is a critical message')

Вывод вышеуказанной программы будет выглядеть следующим образом:

WARNING:root:This is a warning message
ERROR:root:This is an error message
CRITICAL:root:This is a critical message

Выходные данные показывают уровень серьезности перед каждым сообщением вместе с + root +, который является именем, которое модуль логирования дает своему регистратору по умолчанию. (Регистраторы подробно обсуждаются в последующих разделах.) Этот формат, который показывает уровень, имя и сообщение, разделенные двоеточием (+: +), является форматом вывода по умолчанию, который можно настроить для включения таких вещей, как отметка времени, номер строки и другие детали.

Обратите внимание, что сообщения + debug () + и + info () + не были зарегистрированы. Это связано с тем, что по умолчанию модуль ведения журнала регистрирует сообщения с уровнем серьезности «+ WARNING +» или выше. Вы можете изменить это, настроив модуль регистрации для регистрации событий всех уровней, если хотите. Вы также можете определить свои собственные уровни серьезности, изменив конфигурации, но обычно это не рекомендуется, так как это может привести к путанице с журналами некоторых сторонних библиотек, которые вы можете использовать.

Основные конфигурации

Вы можете использовать метод + basicConfig (** + ` + kwargs +