TGViewer
Java Portal | Программирование Java Portal | Программирование @java_iibrary · 11.6K subscribers
Post #1687 2.42K
Java Logging (SLF4J, Logback) — всё, что нужно знать

1. Логирование → запись событий приложения для отладки и мониторинга
Помогает находить проблемы без запуска отладчика
Пример: запись неудачной попытки входа для целей безопасности

2. SLF4J → простой фасад для логирования в Java
Вы пишете код против API SLF4J, а дальше подключаете любую реализацию логгера
Пример: один и тот же код будет работать с Logback, Log4j или java.util.logging

3. Logback → популярный backend для логирования
Высокая производительность, гибкость, поддержка фильтров и политик ротации
Пример: запись логов в файл с ежедневной ротацией

4. Зачем использовать SLF4J + Logback
- SLF4J → возможность менять backend без переписывания кода
- Logback → функционал продакшен-уровня и высокая производительность

5. Уровни логирования (общие для большинства фреймворков)
- TRACE → подробная внутренняя информация (редко в продакшене)
- DEBUG → отладочная информация (например, значения переменных)
- INFO → общие события высокого уровня (например, «Пользователь успешно зарегистрирован»)
- WARN → неожиданные, но восстанавливаемые ситуации (например, повторный запрос)
- ERROR → критические ошибки, влияющие на функционал

6. Пример настройки

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class MyService {
private static final Logger logger = LoggerFactory.getLogger(MyService.class);

public void processOrder(String orderId) {
logger.info("Processing order {}", orderId);
try {
// бизнес-логика
} catch (Exception e) {
logger.error("Error processing order {}", orderId, e);
}
}
}


🔸Используйте параметризованное логирование
logger.debug("User {} logged in", userId) → избегайте конкатенации строк

🔸Выбирайте правильный уровень логов — не захламляйте прод debug-сообщениями

🔸Разделяйте логи приложения и фреймворков

🔸Применяйте политику ротации, чтобы не копились огромные файлы

🔸Добавляйте correlation ID для трейсинга запросов между сервисами

Не логируйте чувствительные данные (пароли, токены)

👉 Java Portal
  • 👍 11
  • ❤ 4
More from @java_iibrary
  1. Sep 30, 2026Docker прост, пока всё работает. Но что делать, если контейнер постоянно перезапускается,…
  2. Sep 29, 2026Эволюция языков программирования 1940-е → Машинный код ⬇️ 1950-е → Ассемблер ⬇️ 1960-е → F…
  3. Sep 29, 2026Большинство Java-разработчиков используют эти термины каждый день. Удивительно, но многие…
  4. Sep 28, 2026💡 Java: не создавайте ресурсоёмкие объекты, пока они действительно не понадобятся. ✅ Иниц…
  5. Sep 28, 2026Проблема в продакшене. Приложение зависло. Вы запускаете: jstack <pid> Через несколько сек…
  6. Sep 27, 2026Java-разработчики, CopyOnWriteArrayList создаёт копию всего внутреннего массива при каждом…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →