Kami menulis ribuan file log sekaligus

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 appenderAnda 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 .
.


!


All Articles