Использование логгирования в программе
Контекст задачи
Когда программа работает в продакшене или при отладке сложных сценариев, метод System.out.println() становится бесполезным: нет фильтрации, нет уровней важности, нет возможности отключить вывод. Профессиональное логгирование позволяет классифицировать сообщения по уровням (DEBUG, INFO, WARN, ERROR), направлять вывод в разные источники (файл, консоль, удалённый сервер) и гибко управлять им без изменения кода.
Формулировка
Настройте интеграцию фреймворка логирования (SLF4J + реализация) в ваш проект и добавьте логирование в ключевые методы программы. Настройте уровни логирования и продемонстрируйте каждый уровень на практике.
Ожидаемый результат
- Подключённая библиотека логирования (SLF4J + Logback / Log4j2 / java.util.logging)
- Экземпляр логгера в каждом классе, где требуется трассировка
- Использование всех уровней логирования (DEBUG, INFO, WARN, ERROR)
- Конфигурационный файл логирования (например,
logback.xml) - Логи выводятся в файл и/или консоль с форматированием
Инструментарий
Методы и подходы:
- Принцип разделения: фасад (
SLF4J) + реализация (Logback/Log4j2) - Уровни логирования и их назначение
- Форматирование вывода (timestamp, level, logger name, message)
- Конфигурация через XML / properties
- Логирование исключений с полным стеком (
logger.error("msg", exception))
Инструменты:
- SLF4J API + Logback (рекомендуется для Java)
logback.xml— файл конфигурации- Maven / Gradle для управления зависимостями
- IDE: настройка отображения логов
Навигатор
- [О логгировании — примеры и задания]
- [Варианты индивидуальных заданий]
- Вопрос: Какие события в вашей программе нужно логировать на уровне DEBUG, а какие — на уровне ERROR? Где ошибки критичны, а где достаточно информационного уведомления?
- Пример задачи: Создайте логгирование запросов к БД в вашем приложении (Менеджер задач).
📝 Критерии оценки
- Библиотека логирования подключена и работает
- В каждом значимом классе создан экземпляр логгера
- Использованы все уровни: DEBUG, INFO, WARN, ERROR
- Конфигурационный файл (
logback.xml) определяет формат и источник вывода - Исключения логируются со стеком вызовов
- Лог-файл формируется и содержит осмысленные записи
- Уровни логирования обоснованы (не все сообщения уровня ERROR)