Перейти к содержанию

Начало урока

Логирование в Python

Структурированный способ с уровнями важности, которым реальные программы сообщают о своей работе

Главная идея: Модуль logging позволяет программе выдавать поток сообщений с отметкой времени и категорией. В отличие от print(), каждое сообщение несёт уровень важности, может направляться сразу в несколько мест (консоль, файл, сеть) и может быть усилено или приглушено без правки кода. Именно так программы среднего масштаба и промышленные системы сообщают, что произошло, когда и насколько это серьёзно.
К концу вы сможете:
  • объяснить, почему print() перестаёт годиться как инструмент отладки,
  • выбирать правильный из пяти уровней логирования,
  • получать именованный логгер и понимать корневой логгер,
  • подключать обработчики и форматтеры, чтобы отправлять записи в консоль и в файл,
  • записывать исключения с полной трассировкой через logger.exception.

1. Почему print() недостаточно

Когда вы только изучали язык, print() был естественным способом подсмотреть, что делает код. Он работает, но не имеет понятия о важности и никакой встроенной структуры. Все сообщения равны, все идут в стандартный вывод, а чтобы их заглушить, приходится физически удалять или комментировать строки.

Реальной программе нужно отвечать на вопросы: какая рутинная информация произошла? какие предупреждения мы пережили? какие ошибки действительно что-то сломали? С print() их не различить, и уж точно нельзя сказать "показывай предупреждения и хуже в продакшене, но всё во время отладки" без переписывания кода.

Задачаprint()logging
Важность сообщениянет, все равныпять уровней
Куда идёт выводвсегда stdoutлюбые подключённые обработчики
Отключить сообщенияправить кодсменить одну настройку уровня
Время и источникдобавляете вручнуюдобавляет форматтер
Показать полную трассировкувручнуюexc_info / exception()

Логирование сохраняет удобство "напечатать сообщение" и добавляет контроль, нужный растущей программе.

Продолжите этот урок на YourAIZone

В полном уроке — объяснение целиком, разобранные примеры, частые ошибки, тесты с мгновенной проверкой и ИИ-репетитор. Начните сразу как гость или создайте аккаунт, чтобы сохранять прогресс.

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя