Halo kawan!
Apa yang terjadi jika saya mengatur Spring Boot di suatu aplikasi logging.level.root=TRACE
?
Semua log akan ditulis ke satu file, di mana akan ada banyak kelas kecil.
Dalam kasus terbaik, dengan bantuan sifting appender
Anda dapat membagi maksimum 1 kriteria ("diskriminator") - misalnya, dengan nama aliran atau dengan nama kelas. Dan meskipun demikian - akan ada recordability dari kode sumber, yang harus mendukung nilai-nilai diskriminator di "MDC".
Berhenti, berhenti, berhenti! Kami menghapus logback
, menambah
- dan dengan konfigurasi sederhana ini kami menulis dalam file log terpisah untuk setiap kelas dan tingkat pencatatan - dan bahkan dalam direktori terpisah:
Bobbin.yml
destinations:
- name: io.infinite.bobbin.config.FileDestinationConfig
fileName: ("./LOGS/INFINITE/${className}/${level}/${className}_${level}_${date}.log")
Dan inilah yang terjadi:

Sekarang bayangkan Anda meminta SRE seorang kolega:
- org.visa.api.Transfer
- ?
- ERROR
- ! .
Tentu saja, secara konseptual semuanya bergegas menuju ELK (baik, splunk atau grafana). Tetapi tidak selalu dikonfigurasi di mana-mana - dan file-file log lama yang baik masih cukup relevan.
Tetapi kami percaya bahwa kami perlu beralih dari pribadi ke umum - dapat melakukan trik seperti di atas
akan memberikan peluang bagi setiap penebang di cloud. Bagaimanapun, semuanya tergantung pada fleksibilitas dan kemudahan konfigurasi.
Kami merekam video yang menunjukkan contoh ini secara penuh, dan menunjukkan cara kerjanya
dalam dinamika:
Selamat menonton!
: Java 8 11, Gradle
( — !). , 2020
. logback
log4j2
. API — , Google Flogger
.
— Gradle Maven .
— Open Source .
.
!