Pourquoi pas System.out ?
System.out.println ne se désactive pas, n'a pas de niveaux, n'écrit pas dans un fichier. Un framework de log (SLF4J + Logback/Log4j) offre des niveaux (TRACE, DEBUG, INFO, WARN, ERROR), des destinations (console, fichier) et un format configurable.
Logger avec SLF4J
import org.slf4j.*; private static final Logger log = LoggerFactory.getLogger(CampagneService.class); log.info("Inscription : {} litres sur campagne {}", litres, id); log.warn("Palier bientôt atteint : {}", volume); log.error("Échec inscription", exception);
Paramétrage {} — on passe les valeurs en arguments (pas de concaténation) : plus lisible et plus performant.
🛢️ Sur le projet Fioul Groupé
Tracer les inscriptions, les clôtures et les erreurs de l'API fioul en INFO/WARN/ERROR permet de superviser le service en production — c'est le préalable au volet monitoring du parcours Spring (Actuator, Graylog) et une trace utile pour l'analyse de sécurité.
À retenir
- Le logging remplace System.out : niveaux, fichiers, format.
- SLF4J (façade) + Logback/Log4j (implémentation).
- Niveaux TRACE
- Base du monitoring de l'API (parcours Spring).