Actuellement, deux types de log existent :
La configuration du format des logs applicatives se paramètre dans un fichier de configuration SpringBoot avec la clef logging.pattern.console.
La configuration actuelle est très proche de la configuration par défaut de SpringBoot mais adaptée pour être similaire au format des access log :
[%d{dd/MMM/yyyy:HH:mm:ss Z}] ${PID:-} [%X{traceId:-},%X{parentSpanId:-},%X{spanId:-}] %-5level %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:%wEx}
avec
Ceci donne des logs du type :
[14/janv./2022:20:36:50 +0100] 15400 [,,] DEBUG f.g.d.p.s.s.a.SocleSoumissionApplication : Running with Spring Boot v2.6.1, Spring v5.3.13
La configuration des access logs dépend du serveur WEB utilisé. Dans le cas des micro-services, il s’agit de Tomcat donc la configuration est server.tomcat.accesslog.pattern avec la valeur
%t %a [%{X-B3-TraceId}i,%{X-B3-parentspanid}i,%{X-B3-SpanId}i] %r %s (%B b - %D ms)
avec
Ceci donne des logs du type :
[14/Jan/2022:20:51:53 +0100] 127.0.0.1 4zc-fbrt4-syevbq-24222443474ed475-df4ee67a6ee65a9d GET /socle/document/teledossier/eta-GQ11-3P0D-KIC0/document HTTP/1.1 200 (1724 b - 203 ms)
La configuration des logs en local se trouve dans les fichiers application-accesslog.properties et application-log.properties du répertoire 2-code/socle/socle-commun/src/main/resources/.
Cette configuration des access logs génère un fichier. Mais celle des logs applicatives envoie les lignes de logs vers la sortie standard. Ainsi, dans Eclipse, les logs arrivent dans la console. Et, en démarrant les micro-services depuis un script SH, les logs arrivent dans un fichier log_xxx.log.
La configuration locale des logs ne doit pas être reprise dans les autres environnements !