Олег Марков
Ведение логов в Python
Введение
Логирование — ключевой элемент разработки, который помогает отслеживать работу приложений, выявлять ошибки и анализировать производительность. Python предоставляет встроенный модуль logging, позволяющий настраивать различные уровни логирования и форматы сообщений.
В этой статье мы разберём, как вести логи в Python на практике и применять их для мониторинга и отладки.
Основы модуля logging
Модуль logging позволяет создавать сообщения различной важности:
- DEBUG — подробная информация для диагностики
- INFO — подтверждение, что всё работает как ожидалось
- WARNING — предупреждение о потенциальной проблеме
- ERROR — ошибка, которая не останавливает программу
- CRITICAL — критическая ошибка, требующая немедленного внимания
import logging
logging.basicConfig(level=logging.INFO)
logging.debug("Отладочная информация")
logging.info("Программа запущена")
logging.warning("Это предупреждение")
logging.error("Произошла ошибка")
logging.critical("Критическая ошибка")Сообщения уровня DEBUG не выводятся при уровне INFO, что позволяет гибко управлять выводом логов.
Если вы хотите детальнее изучить работу с логированием, обработкой ошибок и структурированным кодом — приходите на наш курс Основы Python. На курсе 209 уроков и 34 упражнения, AI-тренажёры для практики 24/7, решение задач с ревью наставника и еженедельные встречи. Курс позволит закрепить навыки ведения логов и работу с ошибками в реальных проектах.
Настройка форматов логов
Вывод логов можно настроить с помощью форматирования:
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s - %(levelname)s - %(message)s'
)
logging.info("Пример лог-сообщения")Пример формата выводит время, уровень и сообщение, что удобно для анализа.
Работа с файлами
Логи можно сохранять в файл для последующего анализа:
logging.basicConfig(
filename='app.log',
level=logging.WARNING,
format='%(asctime)s - %(levelname)s - %(message)s'
)
logging.warning("Предупреждение записано в файл")Это позволяет хранить историю событий приложения и использовать её для мониторинга.
Использование логгеров и обработчиков
Для более сложных систем можно создавать отдельные логгеры и обработчики:
logger = logging.getLogger("my_app")
handler = logging.FileHandler("my_app.log")
formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.error("Ошибка через пользовательский логгер")Такой подход позволяет вести разные лог-файлы для различных компонентов приложения.
Частые ошибки
- Использование
printвместо логирования для отладки - Несоответствие уровней логирования нуждам проекта
- Перезапись файла логов без сохранения предыдущих данных
- Игнорирование обработки исключений при логировании
Частозадаваемые вопросы
Чем отличается logging.info от logging.debug?
INFO выводит информационные сообщения при стандартной работе, DEBUG — более подробные данные для диагностики.
Можно ли логировать в несколько файлов одновременно?
Да, для этого создаются отдельные обработчики (Handler) для каждого файла.
Как настроить формат времени в логах?
Используется параметр datefmt в logging.basicConfig.
Заключение
Логирование в Python — необходимый инструмент для отладки и мониторинга приложений. Использование разных уровней, форматов и обработчиков позволяет создавать гибкую систему логов и отслеживать работу программы на всех этапах.
Для системного изучения ведения логов, работы с ошибками и практики в Python рекомендуется курс Основы Python. В первых 3 модулях доступно бесплатное содержание, что позволяет сразу закрепить навыки и применить их на практике.
Постройте личный план изучения Python до уровня Middle — бесплатно!
Python — часть карты развития Backend
100+ шагов развития
30 бесплатных лекций
300 бонусных рублей на счет
Все гайды по Python
Лучшие курсы по теме

Основы Python
Антон Ларичев
Nest.js с нуля
Антон Ларичев