Bonjour camarades!
Que se passe-t-il si je configure Spring Boot dans une application logging.level.root=TRACE
?
Tous les journaux seront écrits dans un seul fichier, dans lequel il y aura un tas de petites classes.
Dans le meilleur des cas, avec l'aide, sifting appender
vous pouvez diviser un maximum de 1 critĂšre ("discriminateur") - par exemple, par le nom du flux ou par le nom de la classe. Et mĂȘme ainsi - il y aura une possibilitĂ© d'enregistrement Ă partir du code source, qui devrait prendre en charge les valeurs de discriminateur dans "MDC".
ArrĂȘte arrĂȘte arrĂȘte! Nous supprimons logback
, ajoutons
- et avec cette configuration simple, nous Ă©crivons dans des fichiers journaux sĂ©parĂ©s pour chaque classe et niveau de journalisation - et mĂȘme dans des rĂ©pertoires distincts:
Bobbin.yml
destinations:
- name: io.infinite.bobbin.config.FileDestinationConfig
fileName: ("./LOGS/INFINITE/${className}/${level}/${className}_${level}_${date}.log")
Et c'est ce qui arrive:

Imaginez maintenant que vous demandez Ă SRE un collĂšgue:
- org.visa.api.Transfer
- ?
- ERROR
- ! .
Bien sûr, conceptuellement, tout se précipite vers ELK (enfin, splunk ou grafana). Mais il n'est pas toujours configuré partout - et les bons vieux fichiers journaux sont encore assez souvent pertinents.
Mais nous pensons que nous devons passer du privĂ© au gĂ©nĂ©ral - ĂȘtre capable de faire des astuces comme ci
- dessus donnera des chances à tout enregistreur dans le cloud. AprÚs tout, tout dépend de la flexibilité et de la facilité de configuration.
Nous avons enregistré une vidéo montrant cet exemple dans son intégralité et montrant comment cela fonctionne
en dynamique:
Profitez de regarder!
: Java 8 11, Gradle
( â !). , 2020
. logback
log4j2
. API â , Google Flogger
.
â Gradle Maven .
â Open Source .
.
!