🛢️Parcours Fioul GroupéSpring Boot · Chapitre 16
Accueil › Spring Boot › Chapitre 16
Chapitre 16 / 19

Spring Boot — le monitoring

Une application en production doit être observable : savoir si elle est en bonne santé, ce qu'elle fait, et pourquoi elle échoue. Logs, exceptions et Actuator.

1 Notion

Journaliser (logs)

Spring Boot intègre SLF4J + Logback. On journalise via un Logger, jamais avec des System.out.println.

private static final Logger log = LoggerFactory.getLogger(CampagneService.class);
log.info("Campagne {} clôturée, volume={}", id, volume);
Cyber — ne jamais journaliser de données sensibles (mots de passe, JWT, données personnelles).
2 Notion

Les niveaux de log

ERROR > WARN > INFO > DEBUG > TRACE. On règle le niveau par package dans les properties : verbeux en dev, sobre en prod.

logging.level.com.fioul=DEBUG
logging.level.org.springframework=INFO
3 Étape

Spring Boot Actuator

Le starter spring-boot-starter-actuator expose des endpoints de supervision prêts à l'emploi.

management.endpoints.web.exposure.include=health,info,metrics
GET /actuator/health → { "status": "UP" } GET /actuator/metrics → liste des métriques disponibles
4 Notion

Métriques & supervision

Actuator publie des métriques (mémoire, requêtes, temps de réponse) exploitables par des outils comme Prometheus/Grafana. Les logs peuvent être centralisés (ex. Graylog) — sujet du chapitre 17.

🛢️ Sur le projet Fioul Groupé

Active Actuator sur fioul-api ; expose health pour que l'hébergeur vérifie que l'appli est vivante, et metrics pour surveiller les temps de réponse des endpoints campagnes.

À retenir
  • Logger SLF4J (pas de println) ; niveaux réglés par package.
  • Actuator expose /actuator/health, /metrics, /info.
  • Ne jamais journaliser de données sensibles.
← Chapitre 15