Простейший логгер: basicConfig() с уровнем и файлом
less_25__exceptions__logging/theory_01_logging/a_simplest_logger/simplest_logger.py
Показывает минимальную настройку модуля logging через logging.basicConfig(): задаётся уровень INFO, формат сообщения и запись в файл simplest.log. Пять вызовов уровня разной важности демонстрируют, что DEBUG отфильтровывается порогом INFO, а всё от INFO и выше проходит. Отдельно в комментарии отмечено: если передать filename, вывод в консоль (stream) пропадает — работает только файл.
- logging.basicConfig(level=logging.INFO, format=..., filename='simplest.log') — базовая настройка
- logging.debug(...) — не выводится, т.к. ниже порога INFO
- logging.info/warning/error/critical(...) — четыре сообщения проходят порог
- if __name__ == "__main__": — код выполняется только при прямом запуске
Что выводит: Файл simplest.log получает 4 строки — INFO, WARNING, ERROR, CRITICAL с таймстампом и уровнем, например «2026-08-13 20:57:40,180 - INFO - Программа запущена»; сообщение DEBUG в файл не попадает, а в консоли ничего не печатается, т.к. вывод перенаправлен в filename.
import logging
# Настройка базового логгера
logging.basicConfig(
level=logging.INFO, # Уровень логирования
format='%(asctime)s - %(levelname)s - %(message)s', # Формат сообщения
# можно добавить запись в файл, но при этом потерять вывод в stream:
filename='simplest.log'
)
if __name__ == "__main__":
logging.debug("Это сообщение уровня DEBUG (не выведется, т.к. уровень INFO)")
logging.info("Программа запущена")
logging.warning("Предупреждение!")
logging.error("Ошибка!")
logging.critical("Критическая ошибка!")