log4j günlük kaydı hiyerarşi sırası


170

Log4j günlük kaydı hiyerarşisi nedir?

DEBUG
INFO
WARN
ERROR
FATAL

Hangisi sorunları gidermek için yardımcı olabilecek en yüksek günlük kaydını sağlar? Herhangi biri, günlüğe kaydetmenin en yüksekten en düşüğe doğru gerçekleştiği sıra veya hiyerarşiyi sağlayabilir mi? Teşekkürler!

Yanıtlar:


294

Bu tablo sizin için yararlı olabilir:

Günlük Düzeyi

İlk sütuna giderek, günlüğün her düzeyde nasıl çalıştığını göreceksiniz. yani UYARI için ( FATAL, HATA ve UYARI ) görünür. İçin KAPALI , hiçbir şey görünür olacaktır.


Görünürlük ve öğe terimleri açıklayıcı değildir. Resmi belgelerin de bu konuda belirsiz olduğunu görüyorum. Gibi çıkış yöntemi error, info, debugvb kayıt cihazı devredilenleri günlük mesajına bir öncelik / önem düzeyi. Günlüğe kaydetmenin gerçekten etkili olması durumunda (mesaj görünür olacak) kullanılan günlükçünün etkin günlük düzeyine bağlıdır.
Wolf

1
bağlantı koptu. lütfen düzeltin veya kaldırın
yurin

Her ne kadar bu soruya cevap verse de (bu sadece "hiyerarşi sırası" nı sorar), sonunda kötü terminolojiniz için aşağı düştüm: aşağı inmek , "görünürlük" işler , madde . Günlükçü yapılandırmasının gerçek günlük kaydını (günlük olaylarını iletme) nasıl etkilediğini açıklamak istemiyor muydunuz? Lütfen başka bir güncelleme düşünün. BTW: tablo resmi belgeler (bölümün sonunda) tedavisinde farklıdır OFFve ALLiyi, kaynağın bir kısmını okuduktan sonra ben onların masa doğru olduğunu şüphe (özel durumları görmediklerine).
Kurt

Teşekkürler Wolf, cevabı yorumlarınıza göre güncelledim.
nxhoaf

2
Bu, günlük düzeylerinin ve belirli bir günlükçü düzeyi ayarı için çıkılacak beklenen günlük iletisi türlerinin mükemmel bir görselleştirmesi olduğunu düşünüyorum. Tek önerim, görüntüleyiciye grafiğin sütun yerine satırla yorumlanması gerektiğini yönlendirmek için alternatif satır renklerine sahip olmak olabilir. (örneğin, satırlar günlükçü düzeylerini ve sütunlar mevcut olabilecek günlük iletisi türlerini temsil eder)
Larry Hector

149

Gücü kullanın, kaynağı okuyun ( derlenmiş sınıftan Priorityve derlemeden alıntı Level) 1.2.12 sürümünde TRACE seviyesi tanıtıldı):

public final static int OFF_INT = Integer.MAX_VALUE;
public final static int FATAL_INT = 50000;
public final static int ERROR_INT = 40000;
public final static int WARN_INT  = 30000;
public final static int INFO_INT  = 20000;
public final static int DEBUG_INT = 10000;
public static final int TRACE_INT = 5000; 
public final static int ALL_INT = Integer.MIN_VALUE; 

veya sınıfın log4j API'sıdırLevel , bu da oldukça açıktır.

Kütüphane belirli bir ifadenin yazdırılıp yazdırılmayacağına karar verdiğinde, sorumlu Loggernesnenin etkin seviyesini (yapılandırmaya bağlı olarak) hesaplar ve bunu LogEvent'seviyesi ile karşılaştırır (kodda trace / debug / ... / ölümcül ). Eğer LogEventbireyin seviyesi büyük ya da eşit Logger"düzeyine, LogEventappender gönderilir (ler) - 'basılı'. Özünde, hepsi bir tamsayı karşılaştırmasına kadar kaynar ve bu sabitlerin harekete geçtiği yer burasıdır.


56
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL

1
Bu tutorialspoint.com/log4j/log4j_logging_levels.htm adresinde sağlanan bilgilerle çakışıyor Hangisi doğrudur ???
Mike

1
kanıt için tamsayı değişkenlerinin kodunu kontrol edin docjar.com/html/api/org/apache/log4j/Level.java.html
the.malkolm

4
sizin bağlantınızda "TÜM <HATA
AYIKLAMA

7
Venn diyagramı OFF () ALL (TRACE (DEBUG (INFO (WARN (ERROR (FATAL))))))
Hernán Eche

@ Log4j Günlük Kaydı Düzeyleri ilk tabloda alfabetik sırayla kullanılırlar . Kayıp dışında trace, daha sonra doğru bir şekilde ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF(burada <daha az önemli anlamına gelir) belirtiyorlar
Wolf

24

Log4j günlük kaydı düzeyi hiyerarşisi, En yüksekten En düşüğe doğru olarak aşağıdaki gibidir:

  • İZ
  • DEBUG
  • BİLGİ
  • WARN
  • HATA
  • ÖLÜMCÜL
  • KAPALI

TRACE günlük düzeyi, sorunları gidermek için yardımcı olabilecek en yüksek günlük kaydı sağlar. HATA AYIKLAMA günlük seviyesi de sorunları vurmak için çok yararlıdır.

Günlük düzeyleri hakkında daha fazla bilgi için bu bağlantıya da başvurabilirsiniz: https://logging.apache.org/log4j/2.0/manual/architecture.html


12

[Http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html adresinden alınmıştır]

DEBUG, en düşük kısıtlı java günlük kaydı düzeyidir ve bir uygulamada hata ayıklamak için gereken her şeyi yazmalıyız, bu java günlük kaydı modu yalnızca Geliştirme ve Test ortamında kullanılmalı ve üretim ortamında kullanılmamalıdır.

INFO, DEBUG java günlük kaydı düzeyinden daha kısıtlıdır ve java'da INFO düzeyi günlük kaydına Sunucu başlatıldı, Gelen iletiler, giden iletiler vb. Gibi bilgilendirici amaçlı iletileri kaydetmeliyiz.

WARN, INFO java günlük kaydı düzeyinden daha kısıtlıdır ve uyarı türündeki iletileri günlüğe kaydetmek için kullanılır; örneğin, istemci ve sunucu arasında bağlantı kesildi. Veritabanı bağlantısı kesildi, Soket sınırına ulaştı. Bu iletiler ve java günlük kaydı düzeyi neredeyse önemlidir, çünkü bu günlük iletileri hakkında java uyarısı ayarlayabilir ve destek ekibinizin java uygulamanızın durumunu izlemesine ve bu uyarı iletilerine yanıt vermesine izin verebilirsiniz. Özet'te, Java'da oturum açmak için uyarı mesajını günlüğe kaydetmek için WARN düzeyi kullanılır.

HATA, WARN'den daha kısıtlı java günlük kaydı düzeyidir ve Hatalar ve Özel Durumları günlüğe kaydetmek için kullanılır, ayrıca bu java günlük düzeyine uyarı ayarlayabilir ve bu iletilere yanıt vermek için uyarı izleme ekibini ayarlayabilirsiniz. HATA, Java'da oturum açmak için ciddidir ve her zaman yazdırmalısınız.

FATAL java günlük kaydı düzeyi, muhtemelen uygulamanın iptal edilmesine yol açacak çok ciddi hata olayları belirtir. Bundan sonra çoğunlukla uygulamanız çöker ve durur.

KAPALI java günlük kaydı düzeyi, mümkün olan en yüksek sıralamaya sahiptir ve Java günlük kaydını kapatmayı amaçlamaktadır.


4

Hiyerarşi sırası

  1. HERŞEY
  2. İZ
  3. DEBUG
  4. BİLGİ
  5. WARN
  6. HATA
  7. ÖLÜMCÜL
  8. KAPALI
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.