Saat mengumpulkan log, pastikan log memiliki tipe yang sama. Jika log-log tersebut memiliki tipe berbeda, Anda dapat menggunakan pendekatan Schema-On-Write dan Schema-On-Read untuk memproses dan mengumpulkannya.
Informasi latar belakang
Log Java adalah log program yang mencakup informasi normal dan kesalahan seperti pengecualian stack. Log Java dapat berupa beberapa tipe berikut:
Log WARNING multi-baris
Log INFO satu baris
Log DEBUG pasangan kunci-nilai
[2018-10-01T10:30:31,000] [WARNING] java.lang.Exception: another exception happened
at TestPrintStackTrace.f(TestPrintStackTrace.java:3)
at TestPrintStackTrace.g(TestPrintStackTrace.java:7)
at TestPrintStackTrace.main(TestPrintStackTrace.java:16)
[2018-10-01T10:30:32,000] [INFO] info something
[2018-10-01T10:30:33,000] [DEBUG] key:value key2:value2Solusi
Schema-On-WriteSkenario: Gunakan pendekatan ini jika Anda mengetahui jenis log yang ingin dikumpulkan dan ingin memformat log saat proses pengumpulan.
Deskripsi: Terapkan beberapa konfigurasi Logtail pada log yang ingin dikumpulkan dan tentukan ekspresi reguler yang berbeda untuk setiap konfigurasi Logtail. Dengan cara ini, Anda dapat mengumpulkan berbagai jenis log. Secara default, hanya satu konfigurasi Logtail yang dapat digunakan untuk mengumpulkan log dari file log. Namun, Anda juga dapat menggunakan beberapa konfigurasi Logtail untuk mengumpulkan log dari file log yang sama. Untuk informasi lebih lanjut, lihat Bagaimana cara mengumpulkan beberapa salinan log dalam satu file?
Schema-On-ReadSkenario: Gunakan pendekatan ini jika Anda ingin menganalisis hingga puluhan juta log dari berbagai jenis dan memformat log saat melakukan query atau analisis.
Deskripsi: Gunakan ekspresi reguler yang dapat mencocokkan bidang umum dari log yang diperlukan.
Sebagai contoh, untuk mengumpulkan log multi-baris, tentukan ekspresi reguler di mana timestamp dan level log ditentukan untuk mencocokkan awal baris pertama dari sebuah log, sementara sisanya dari log termasuk dalam bidang pesan. Sebagai contoh, gunakan
[2018-10-01T10:30:32,000] [INFO]sebagai ekspresi reguler, dengan nilai bidang pesaninfo something.Untuk menganalisis konten dalam bidang pesan, buat indeks untuk bidang pesan dan gunakan ekspresi reguler untuk mengekstrak konten yang ingin dianalisis. Untuk informasi lebih lanjut tentang pembuatan indeks, lihat Buat Indeks. Untuk informasi lebih lanjut tentang ekstraksi berdasarkan ekspresi reguler, lihat e_regex.