Logging
Логи вместо System.out.println
Работающее приложение должно оставлять понятный диагностический след:
что запустилось, какая операция выполнялась и где произошла ошибка.
Spring Boot подготавливает систему логирования, поэтому приложению остаётся писать сообщения
через стандартный logging API, а не разбрасывать по коду System.out.println().
class PaymentService {
private static final Logger log = LoggerFactory.getLogger(PaymentService.class);
void pay(long orderId) {
log.info("Starting payment for order {}", orderId);
}
}
Плейсхолдер {} позволяет передавать значение отдельно от шаблона сообщения.
Такой вызов удобнее конкатенации строк и нормально работает с системой уровней логирования.
Уровни помогают отделять важное от подробностей
Для сообщений используются уровни вроде DEBUG, INFO, WARN и ERROR.
Нужную детализацию можно менять конфигурацией без переписывания Java-кода.
logging.level.com.example.payment=DEBUG
Не логируй секреты и персональные данные без необходимости.
Логи часто собираются централизованно и хранятся дольше обычного запроса,
поэтому случайно записанный токен или пароль становится отдельной проблемой безопасности.
Проверь себя
Разбор задания
Ментор знает решение и поможет тебе прийти к нему самостоятельно
Войди, чтобы использовать Ментора
Ментор учитывает текущую задачу и историю диалога.
Войти
Проверь важные нюансы и ответ после собственной попытки.
Войди, чтобы посмотреть решение
Решение и разбор доступны после авторизации.
Войти