Ya kamu harus. Menggunakan fasad logging seperti SLF4J memberi Anda fleksibilitas tanpa membebani pengguna Anda dengan kerangka kerja logging tertentu.
Penulis komponen dan pustaka yang didistribusikan secara luas dapat mengkode terhadap antarmuka SLF4J untuk menghindari memaksakan kerangka kerja logging pada pengguna akhir komponen atau pustaka. Dengan demikian, pengguna akhir dapat memilih kerangka kerja logging yang diinginkan pada waktu penempatan dengan memasukkan slf4j yang sesuai yang mengikat pada classpath, yang dapat diubah kemudian dengan mengganti mengikat yang ada dengan yang lain pada jalur kelas dan memulai kembali aplikasi. Pendekatan ini terbukti sederhana dan sangat kuat.
Juga, jika pengguna Anda tidak menyertakan botol SLF4J (dari panduan pengguna ):
Pada SLF4J versi 1.6.0, jika tidak ada pengikatan ditemukan di jalur kelas, maka slf4j-api akan default ke implementasi tidak-operasi yang mengabaikan semua permintaan log.
Jika Anda khawatir tentang implikasi kinerja logging, lihat entri FAQ SLF4J ini . Idenya adalah Anda memberikan parameter untuk mencatat pernyataan alih-alih menambahkannya ke dalam sebaris string:
Dua baris berikut akan menghasilkan output yang sama persis. Namun, formulir kedua akan mengungguli formulir pertama dengan faktor setidaknya 30, dalam kasus pernyataan pembalakan yang dinonaktifkan.
logger.debug("The new entry is "+entry+".");
logger.debug("The new entry is {}.", entry);
Apakah SLF4J merupakan fasad logging yang lain?
SLF4J secara konseptual sangat mirip dengan JCL. Dengan demikian, ini dapat dianggap sebagai fasad logging yang lain. Namun, SLF4J jauh lebih sederhana dalam desain dan bisa dibilang lebih kuat. Singkatnya, SLF4J menghindari masalah pemuat kelas yang mengganggu [Jakarta Commons Logging].