log4j - Pemformatan Log

Apache log4j menyediakan berbagai Layoutobjek, yang masing-masing dapat memformat data pencatatan menurut berbagai tata letak. Dimungkinkan juga untuk membuat objek Layout yang memformat data logging dengan cara khusus aplikasi.

Semua objek Layout menerima a LoggingEvent objek dari Appenderbenda. Objek Layout kemudian mengambil argumen pesan dari LoggingEvent dan menerapkan ObjectRenderer yang sesuai untuk mendapatkan representasi String dari pesan tersebut.

Jenis Tata Letak

Kelas tingkat atas dalam hierarki adalah kelas abstrak org.apache.log4j.Layout. Ini adalah kelas dasar untuk semua kelas Tata Letak lainnya di API log4j.

Kelas Layout didefinisikan sebagai abstrak dalam aplikasi, kita tidak pernah menggunakan kelas ini secara langsung; sebagai gantinya, kami bekerja dengan subkelasnya yaitu sebagai berikut:

  • DateLayout

  • HTMLLayout

  • PatternLayout.

  • SimpleLayout

  • XMLLayout

Metode Tata Letak

Kelas ini menyediakan implementasi kerangka dari semua operasi umum di semua objek Layout lainnya dan mendeklarasikan dua metode abstrak.

Sr.No. Metode & Deskripsi
1 public abstract boolean ignoresThrowable()

Ini menunjukkan apakah informasi logging menangani objek java.lang.Throwable yang diteruskan ke sana sebagai bagian dari peristiwa logging. Jika objek Layout menangani objek Throwable, maka objek Layout tidak mengabaikannya, dan mengembalikan nilai false.

2 public abstract String format(LoggingEvent event)

Subkelas tata letak individual menerapkan metode ini untuk pemformatan khusus tata letak.

Terlepas dari metode abstrak ini, kelas Layout menyediakan implementasi konkret untuk metode yang tercantum di bawah ini:

Sr.No. Metode & Deskripsi
1 public String getContentType()

Ini mengembalikan tipe konten yang digunakan oleh objek Layout. Kelas dasar mengembalikan teks / biasa sebagai tipe konten default.

2 public String getFooter()

Ini menentukan informasi footer dari pesan logging.

3 public String getHeader()

Ini menentukan informasi header dari pesan logging.

Setiap subclass dapat mengembalikan informasi khusus kelas dengan mengesampingkan implementasi konkret dari metode ini.