Evet yapmalısın. SLF4J gibi bir kayıt cephesi kullanmak , kullanıcılarınızı belirli bir kayıt çerçevesiyle zorlamadan size esneklik sağlar.
Yaygın olarak dağıtılmış bileşenlerin ve kütüphanelerin yazarları, bileşenin veya kütüphanenin son kullanıcısına bir kayıt çerçevesi uygulamaktan kaçınmak için SLF4J arayüzüne karşı kod yazabilir. Böylece, son kullanıcı, dağıtım yolunda karşılık gelen slf4j bağını sınıf yoluna ekleyerek istenen kayıt çerçevesini seçebilir, daha sonra var olan bir bağlamayı sınıf yolu üzerindeki bir başkasıyla değiştirmek ve uygulamayı yeniden başlatmak suretiyle değiştirilebilir. Bu yaklaşımın basit ve çok sağlam olduğu kanıtlanmıştır.
Ayrıca, kullanıcılarınız SLF4J kavanoz içermiyorsa ( kullanım kılavuzundan ):
SLF4J sürüm 1.6.0'dan itibaren, sınıf yolunda bağlayıcı bulunmazsa, slf4j-api varsayılan olarak tüm günlük isteklerini atarak işlemsiz bir uygulamaya geçecektir.
Günlüğe kaydetmenin performansla ilgili sonuçlarıyla ilgileniyorsanız, bu SLF4J SSS girişine bakın . Fikir, ifadeleri bir String satır içi içine eklemek yerine günlüklere parametreler sağlamaktır:
Aşağıdaki iki satır aynı çıktıyı verecektir. Bununla birlikte, ikinci form, engelli bir kayıt ifadesi olması durumunda, birinci formun en az 30 faktöre göre daha iyi performans gösterecektir.
logger.debug("The new entry is "+entry+".");
logger.debug("The new entry is {}.", entry);
SLF4J bir başka günlük cephesi mi?
SLF4J kavramsal olarak JCL'ye çok benzer. Bu haliyle, başka bir giriş cephesi olarak düşünülebilir. Bununla birlikte, SLF4J tasarımda daha basittir ve tartışmasız daha sağlamdır. Kısaca, SLF4J sınıf yükleyici veba [Jakarta Commons Logging] rahatsız edici sorunları önlemek.