Pengecualian Pencatatan Menggunakan SLF4J

1. Ikhtisar

Dalam tutorial singkat ini, kami akan menunjukkan cara membuat log pengecualian di Java menggunakan API SLF4J. Kami akan menggunakan API slf4j-simple sebagai implementasi logging.

Anda dapat menjelajahi berbagai teknik pencatatan di salah satu artikel kami sebelumnya.

2. Ketergantungan Maven

Pertama, kita perlu menambahkan dependensi berikut ke pom.xml kita :

 org.slf4j slf4j-api 1.7.30   org.slf4j slf4j-simple 1.7.30 

Versi terbaru dari perpustakaan ini dapat ditemukan di Maven Central.

3. Contoh

Biasanya, semua pengecualian dicatat menggunakan metode error () yang tersedia di kelas Logger . Ada beberapa variasi dari metode ini. Kami akan menjelajahi:

void error(String msg); void error(String format, Object... arguments); void error(String msg, Throwable t);

Pertama mari kita inisialisasi Logger yang akan kita gunakan:

Logger logger = LoggerFactory.getLogger(NameOfTheClass.class);

Jika kita hanya perlu menampilkan pesan kesalahan, maka kita cukup menambahkan:

logger.error("An exception occurred!");

Output dari kode di atas adalah:

ERROR packageName.NameOfTheClass - An exception occurred!

Ini cukup sederhana. Tetapi untuk menambahkan informasi yang lebih relevan tentang pengecualian (termasuk jejak tumpukan) kita dapat menulis:

logger.error("An exception occurred!", new Exception("Custom exception"));

Outputnya adalah:

ERROR packageName.NameOfTheClass - An exception occurred! java.lang.Exception: Custom exception at packageName.NameOfTheClass.methodName(NameOfTheClass.java:lineNo)

Dengan adanya beberapa parameter, jika argumen terakhir dalam pernyataan logging adalah pengecualian, maka SLF4J akan menganggap bahwa pengguna ingin argumen terakhir diperlakukan sebagai pengecualian, bukan sebagai parameter sederhana:

logger.error("{}, {}! An exception occurred!", "Hello", "World", new Exception("Custom exception"));

Dalam potongan di atas, pesan String akan diformat berdasarkan detail objek yang diteruskan. Kami telah menggunakan tanda kurung kurawal sebagai tempat penampung untuk parameter String yang diteruskan ke metode.

Dalam hal ini, hasilnya adalah:

ERROR packageName.NameOfTheClass - Hello, World! An exception occurred! java.lang.Exception: Custom exception at packageName.NameOfTheClass.methodName(NameOfTheClass.java:lineNo)

4. Kesimpulan

Dalam tutorial singkat ini, kami menemukan cara mencatat pengecualian menggunakan API SLF4J.

Cuplikan kode tersedia di repositori GitHub.