log4j - Tingkat Pencatatan
Itu org.apache.log4j.Levellevel. Anda juga dapat menentukan tingkat kustom Anda dengan membuat sub-klasifikasiLevel kelas.
Tingkat | Deskripsi |
---|---|
SEMUA | Semua level termasuk level kustom. |
DEBUG | Menunjuk peristiwa informasi mendetail yang paling berguna untuk men-debug aplikasi. |
INFO | Menunjuk pesan informasional yang menyoroti kemajuan aplikasi pada tingkat yang sangat kasar. |
MEMPERINGATKAN | Menunjukkan situasi yang berpotensi membahayakan. |
KESALAHAN | Menunjukkan kejadian kesalahan yang mungkin masih memungkinkan aplikasi untuk terus berjalan. |
FATAL | Menunjukkan peristiwa kesalahan yang sangat parah yang mungkin akan menyebabkan aplikasi dibatalkan. |
MATI | Peringkat setinggi mungkin dan dimaksudkan untuk mematikan penebangan. |
JEJAK | Menunjukkan peristiwa informasi yang lebih detail daripada DEBUG. |
Bagaimana Levels Bekerja?
Permintaan log level p di logger dengan level q adalah enabledjika p> = q. Aturan ini ada di jantung log4j. Ini mengasumsikan bahwa level dipesan. Untuk level standar, kami memiliki SEMUA <DEBUG <INFO <WARN <ERROR <FATAL <OFF.
Contoh berikut menunjukkan bagaimana kita dapat memfilter semua pesan DEBUG dan INFO kita. Program ini menggunakan metode logger setLevel (Level.X) untuk menyetel tingkat logging yang diinginkan:
Contoh ini akan mencetak semua pesan kecuali Debug dan Info:
import org.apache.log4j.*;
public class LogClass {
private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);
public static void main(String[] args) {
log.setLevel(Level.WARN);
log.trace("Trace Message!");
log.debug("Debug Message!");
log.info("Info Message!");
log.warn("Warn Message!");
log.error("Error Message!");
log.fatal("Fatal Message!");
}
}
Saat Anda mengompilasi dan menjalankan file LogClass program, itu akan menghasilkan hasil sebagai berikut -
Warn Message!
Error Message!
Fatal Message!
Mengatur Tingkat menggunakan File Konfigurasi
log4j memberi Anda pengaturan level berbasis file konfigurasi yang membebaskan Anda dari mengubah kode sumber ketika Anda ingin mengubah level debugging.
Berikut ini adalah contoh file konfigurasi yang akan melakukan tugas yang sama seperti yang kita lakukan menggunakan log.setLevel(Level.WARN) metode pada contoh di atas.
# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = WARN, FILE
# Define the file appender
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out
# Define the layout for file appender
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n
Sekarang mari kita gunakan program berikut -
import org.apache.log4j.*;
public class LogClass {
private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class);
public static void main(String[] args) {
log.trace("Trace Message!");
log.debug("Debug Message!");
log.info("Info Message!");
log.warn("Warn Message!");
log.error("Error Message!");
log.fatal("Fatal Message!");
}
}
Sekarang kompilasi dan jalankan program di atas dan Anda akan mendapatkan hasil sebagai berikut /usr/home/log4j/log.out file -
Warn Message!
Error Message!
Fatal Message!