Ответ
Уровни логирования — это система приоритетов для сообщений в логах. Стандартные уровни (от наиболее детального к критическому):
- TRACE — максимальная детализация для отладки (вход/выход из функций, значения внутренних переменных).
- DEBUG — информация для разработчиков о ходе выполнения (промежуточные состояния, некритические данные).
- INFO — регистрация нормальных событий работы приложения (сервис запущен, пользователь подключился).
- WARN — предупреждения о потенциальных проблемах, которые не нарушили работу (некорректный, но обработанный формат данных, медленный запрос).
- ERROR — ошибки, которые нарушили выполнение конкретной операции (исключение, сбой запроса к БД), но приложение продолжает работать.
- FATAL/CRITICAL — критические ошибки, приводящие к остановке приложения или его ключевой части.
Почему это важно? Уровни позволяют фильтровать логи. На production обычно включают INFO и выше, а на staging — DEBUG.
Пример на Python с модулем logging:
import logging
# Настройка уровня логирования для корневого логгера
logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
logger.debug('Это сообщение видно только при level=DEBUG') # Для отладки
logger.info('Пользовательский сервис инициализирован') # Информационное событие
logger.warning('Кэш почти заполнен') # Предупреждение
logger.error('Не удалось подключиться к базе данных') # Ошибка операции