Log4j'yi slf4j'ye yükseltmem gerekiyor mu [kapalı]


10

Bazı planlı üstlenmeden bizim JEE web uygulaması inceliyoruz ve önerilerden biri değiştirmektir log4jile logbackveyaslf4j

Takım bunu yapmamız gerekip gerekmediği konusunda net değil .

Düzenleme: Günlüğe kaydetme çerçevelerinin karşılaştırılmasını istemiyorum, ancak log4j'den oldukça memnun olduğumuzda çerçeveyi değiştirmenin değerli bir yeniden düzenleme öğesi olup olmadığı

Yanıtlar:


18

Dikkate almanız gereken önemli bir soru: Başka biri tarafından kullanılan bir kütüphane mi oluşturuyorsunuz yoksa son ürünü mü oluşturuyorsunuz?

İlk durumda, SLF4j çok önemlidir, çünkü birisi kütüphanenizi zaten oturum açmış olan yazılımına entegre edecektir ve sınıflarınız bunu kullanıyorsa iyi olur.

İkinci durumda, onu olduğu gibi bırakabileceğinizi söyleyebilirim. Belki bir sonraki projede slf4j kullanmayı düşünün.


7

Yapma. Yararlı, değerli özellikler uygulamak için daha fazla zaman harcayın.


6
-1: kayıt işleminin olabildiğince iyi olması gerekir!

7
Yani kullandıkları log4j yeterince kullanışlı değil mi? Çerçeveleri değiştirmek mümkün olduğu için değiştirmek zaman kaybıdır. OP, günlüğe kaydetmenin bozuk olmadığını bile belirtti.
Martin Wickman

1
Buna oy vermezdim. Martin haklı olabilir. Jose'nin bitmiş bir ürünü varsa (kütüphane değil, cevabımı görün) olduğu gibi bırakmalı ve başka bir yerde zaman geçirmelidir ...
Tim Büthe

2
@ Thorbjorn, hayır, (genel olarak özellikleri olarak) kaydını olarak iyi olarak olması gerekir gerekli . Eğer Log4J ile herhangi bir problemleri yoksa, (btw, değiştirmeyi zorunlu kılacak herhangi birinden alıntı yapmadıysanız), muhtemelen zamanlarının daha iyi kullanımları vardır.
Péter Török

1
-1: IMHO'nun koşulsuz tercihi yanlıştır. Bu cevabı Tim Bueth'in cevabının koşulluluğuyla karşılaştırmaya çalışın.
Ajeet Ganga

1

Log4J sizin için çalışıyorsa, bunu değiştirmek için bir neden yoktur. Değilse, slf4j olabilir veya olmayabilir, ihtiyacınız olanı yapan bir alternatif arayın.

Birisi bir şeyin başka bir şeyden daha güzel olduğunu söylediğinden, tüm uygulamanızı değiştirmek (ya da yeni bir şey benimsemek) asla bir sebep olmamalıdır.


0

Slf4j, derleme zamanında karar vermek yerine dağıtım zamanında log4j, logback veya varsayılan jdk günlüğü kullanmayı seçmenizi sağlayan bir API'dir ( doğrudan log4j'ye kod yazdığınızda olan şeydir)

Slf4j ayrıca, pahalı toString () çağrılarını geciktirebilen ve log deyimi etkinleştirilmezse bunlardan tamamen kaçınan {} -construct sağlar.

Daha sonra motoru daha sonra seçebilirsiniz.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.