pardonda root ve logger'a ihtiyacımız var. Ben log4j için tamamen yeni. Çeşitli eklere başvuran iki etiket ve etiket olduğunu gördüm. Kod tabanımdaki bilgileri bir dosyaya kaydetmek, e-posta adresime göndermek ve konsola yazdırmak istediğimi varsayalım. Seviyenin bilgi olarak ayarlanmasını istiyorum. Üç ekleyiciye referans veren tek bir etiketin olması yeterli değil mi? (Dosya, e-posta ve konsol) neden başka bir şeye ihtiyacımız var?neden soru çok önemsiz ise log4j.xml
cevap
Bu yeterli.
log4j bir kayıt cihazı, bir paket ya da bazı durumlarda belirli bir sınıf ile ilişkilidir. Bir loggerın paket/sınıfı "name" özelliğiyle tanımlanır. Bir kaydedici, mesajlarını paketinde ve ayrıca tüm çocuk paketlerinde ve sınıflarında kaydeder. Bunun tek istisnası, uygulamadaki tüm sınıflar için mesajları kaydeden kök kaydedicidir.
bir kayıt cihazı, aynı zamanda seviyesine sahiptir ve buna bağlı olarak bir veya çok sayıda appenders (günlük yerler) sahip olabilir. Bir sonraki örnekte
iki kaydedicileri vardır:- seviye INFO ile veya çeşitli hedeflere tüm paketler yukarıdaki iletileri kaydeder kök logger: konsol, e-posta ve dosya,
"com.foo" iletilerini, "com.foo" paketindeki level WARN veya üzeri iletileri ve alt paketlerini başka bir dosyaya kaydeden "com.foo" logger.
<log4j:configuration> <!-- Declaration of appenders FILE, MAIL, CONSOLE and ANOTHERFILE --> ... <!-- --> <logger name="com.foo"> <level value="warn"/> <appender-ref ref="ANOTHERFILE" /> </logger> <root> <priority value ="info" /> <appender-ref ref="FILE" /> <appender-ref ref="MAIL" /> <appender-ref ref="CONSOLE" /> </root> </log4j:configuration>
Sen log4j temelleri hakkında read more gerektiği.
Kök kaydedici "com.foo" sınıfının mesajlarını da kaydeder mi? –
@ mmc18 Evet, kesinlikle. ANOTHERFILE'e yazılan tüm mesajlar da kök loggerın eklerine yazılır. –
Sadece bir ek not, kaydedicinin additivity özelliğini false olarak ayarlayarak ANOTHERFILE öğesine gönderilen iletilerin kök günlüğüne gönderilmesini engelleyebilirsiniz. Alt düzeyden üste (kök) kadar köstekleyen bir istisna gibi düşünün. addivity bir "atmak" olmadan "yakalamak" – JReader
- 1. Nasıl log4j.xml
- 2. PowerMockRunner önemsiz testi çalıştırırken ExceptionInInitializerError neden
- 3. çok basit io soru C++
- 4. Önemsiz fanktorlar
- 5. log4j.xml dosya yerleştirme
- 6. Ruby'de neden "sıfır ise" yapamıyorum?
- 7. Eclipse: log4j.xml dosyasındaki başvuru log4j.dml
- 8. MS Edge neden spread öğesi ve querySelector ile çalışmıyor? yayınlanan başka bir soru ise
- 9. Önemsiz Dozer eşleştirmeleri
- 10. Log4j.xml dosyasını dışarıdan savaşa yükleme
- 11. Önemsiz dizge ayrıştırma algoritması
- 12. nedenle bu çok temel bir soru olabilir
- 13. çok basit bir soru, ama bilmiyorum
- 14. Kategori VS logger etiketleri jboss-log4j.xml içinde
- 15. Neden Java derleyici önemsiz bir yöntemi optimize etmiyor?
- 16. Neden yank, vim'deki kopyanın anlamıdır? Web'de ise
- 17. java log4j.xml mizanpajı paylaşan çoklu ekleyiciler
- 18. Soru işareti neden Ruby'de "z" olarak yorumlanır
- 19. JSON'da boşluk karakterleri önemsiz midir?
- 20. "constexpr" vs "ise" en iyi duruma getirme - neden "constexpr" gerekli?
- 21. Log4j.xml dosyasını log4j2.xml'ye dönüştürmenin temassik yolu
- 22. Hızlı strlen soru
- 23. Firefox'ta Angular.JS'de belge öğesi hatası sonrası önemsiz
- 24. MVVM Pattern, ViewModel DataContext soru
- 25. Basit ayrıştırma soru
- 26. GHCi test.hs ise dosyadan
- 27. C++ 11 önemsiz üyeler ile anonim birliği
- 28. (True) ise (;;)
- 29. Sorun ise
- 30. Powershell ISE,
Tek bir kök etiketi olması yeterli değil mi? eklere üç referansı olan? – parameswar