2013-04-04 14 views
10

JDK günlüğe kaydetme çerçevesi olarak ve SLF4J'yi basit bir cephe olarak kullanıyorum. Farklı düzey günlüklerini kaydettiğimde bazı sorularım var.SFL4J ve JDK günlüğü arasında farklı günlüğe kaydetme düzeyi

SLF4J günlük düzeyleri aşağıdaki sahiptir

hata
öldürücü (en ciddi)

JDK günlük sahip uyarmak
bilgileri

iz (en ciddi)
ayıklama aşağıdaki günlük düzeyleri

Ben DEBUG günlük düzeyini ayarlamak isterseniz CİDDİ (en yüksek değer)
UYARI
BİLGİ
YAPILANDIRMA
İNCE
İNCE
EN SAF (en düşük değer)

sonra bu düz değil

JDK günlüğünde kullanılabilir. Herhangi biri, bu durumda DEBUG seviyesinin nasıl kaydedileceğini açıklayabilir mi? Bu durum için herhangi bir ek yapılandırma yapmamız gerekiyor mu?

Güncelleme

bu benim malım dosya yapılandırması

işleyicileri = com.amc.logging.handlers.DebugLogHandler

com.amc.logging.handlers.DebugLogHandler.pattern = c: /logs/debug_log.log com.amc.logging.handlers.DebugLogHandler.level = FINE com.amc.logging.handlers.DebugLogHandler.formatter = java.util.logging.SimpleFormatter com.amc.logging.handlers.DebugLogHandler .Append = t rue

Lütfen bana yanlış gittiğimi bildirin.

+0

çoğaltın

İşte bir örnek logging.properties dosyasıdır? http://stackoverflow.com/questions/4278438/slf4j-logging-with-jdk-how-to-enable-debug – hd1

+0

Günlük seviyesini yukarıdaki bağlantıda belirtilen FINE olarak değiştirdim ancak yine de DEBUG'ı alamıyorum. seviye kaydı. –

+0

Verdiğiniz çözüm, sorunumu çözmeme yardımcı olmadı. Gönderiyi özellik dosya yapılandırmayla güncelledim. –

cevap

7

Bu sorunu, feryat direği yardımıyla çözdüm. Biz java.util.logging içinde İNCE seviyesini haritaya sahip SLF4J içinde DEBUG seviyesi kaydı için

slf4j logging with jdk – how to enable debug?

.

Varsayılan günlük seviyesini FINE veya daha düşük FINE değeri olarak ayarlamalıyız. Bu, körükleme hattının kayıt yapılandırma dosyasına eklenmesiyle sağlanabilir. Sahip = İNCE

0

Bir başka sorun

.level Eğer bir işleyici tanımladıktan rağmen, herhangi kaydedicilerinin bunu atanmamış olması.

kök kaydedicisi atamak için,

com.company.application.package.level=FINE 

logger tanımlamak, uygulamanızda bir günlükçüsüne atayın

.handlers=com.amc.logging.handlers.DebugLogHandler 

kullanmak Ve buna da işleyicisi atamak: com.company.application.package.handlers=com.amc.logging.handlers.DebugLogHandler

Ayrıca, kendiniz tanımladığınız bir com.amc.logging.handlers.DebugLogHandler sınıfı? Sınıfında mı? Çünkü aksi halde java.util.logging (JUL) 'un onu tanıyacağını sanmıyorum.

JUL ile gelir işleyicileri birini deneyin:

handlers=java.util.logging.FileHandler, java.util.logging.ConsoleHandler 

Ve istediğiniz konumu ve biçimi log seviyesi ile yapılandırın. https://tomcat.apache.org/tomcat-6.0-doc/logging.html#Using_java.util.logging_(default)

O apache juli uygulanmasından işleyicileri kullanır ama sadece JUL gelen sınıfları ile yerine: https://docs.oracle.com/javase/7/docs/api/java/util/logging/package-summary.html

İlgili konular