log4j log urutan hierarki


169

Apa itu hierarki log4j logging?

DEBUG
INFO
WARN
ERROR
FATAL

Yang mana yang menyediakan pencatatan tertinggi yang akan membantu untuk memecahkan masalah? Bisakah ada yang memberikan urutan atau hierarki tempat penebangan berlangsung dari tertinggi ke terendah? Terima kasih!

Jawaban:


292

Tabel ini mungkin bermanfaat bagi Anda:

Tingkat Log

Turun ke kolom pertama, Anda akan melihat bagaimana log bekerja di setiap level. yaitu untuk PERINGATAN , ( FATAL, KESALAHAN dan PERINGATAN ) akan terlihat. Untuk MATI , tidak ada yang akan terlihat.


Istilah visibilitas dan item tidak jelas. Saya melihat bahwa dokumentasi resmi juga tidak jelas tentang ini. Output Metode seperti error, info, debug, dll dari yang ditunjuk logger tingkat prioritas / keparahan ke pesan logging. Jika logging benar-benar berlaku (pesan akan terlihat) tergantung pada tingkat logging yang efektif dari logger yang digunakan.
Wolf

1
tautan rusak. tolong perbaiki atau hapus
yurin

Meskipun ini menjawab pertanyaan (itu hanya meminta "urutan hierarki"), akhirnya saya turun karena terminologi Anda yang buruk: turun , "visibilitas" berfungsi , item . Tidakkah Anda ingin menjelaskan bagaimana konfigurasi logger mempengaruhi logging yang sebenarnya (melewati peristiwa log) Silakan pertimbangkan pembaruan lainnya. BTW: tabel dalam dokumentasi resmi (pada akhir bagian) berbeda dalam merawat OFFdan ALL, yah, setelah membaca beberapa sumber (tidak menemukan kasus khusus) Saya ragu bahwa tabel mereka benar.
Serigala

Terima kasih Wolf, saya telah memperbarui jawabannya sesuai dengan komentar Anda.
nxhoaf

2
Saya pikir ini adalah visualisasi yang sangat baik dari level log dan tipe pesan log yang diharapkan yang akan menjadi output untuk pengaturan level logger tertentu. Satu-satunya saran saya mungkin memiliki warna baris bergantian untuk memandu pemirsa bahwa grafik harus ditafsirkan oleh baris daripada kolom. (yaitu baris mewakili tingkat logger dan kolom mewakili tipe pesan log yang akan hadir)
Larry Hector

149

Gunakan kekuatan, baca sumbernya (kutipan dari Prioritydan Levelkelas yang dikompilasi, tingkat TRACE diperkenalkan di versi 1.2.12):

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; 

atau API log4j untuk Levelkelas , yang membuatnya cukup jelas.

Ketika perpustakaan memutuskan apakah akan mencetak pernyataan tertentu atau tidak, perpustakaan akan menghitung tingkat efektif Loggerobjek yang bertanggung jawab (berdasarkan konfigurasi) dan membandingkannya dengan level LogEvent's (tergantung pada metode mana yang digunakan dalam kode - jejak / debug / ... / fatal ). Jika LogEventlevel lebih besar atau sama dengan Loggerlevel, maka LogEventdikirim ke appender - "dicetak". Pada intinya, semuanya bermuara pada perbandingan bilangan bulat dan di sinilah konstanta ini bertindak.


56
OFF
FATAL
ERROR
WARN
INFO
DEBUG
TRACE
ALL

1
Ini bertentangan dengan informasi yang diberikan di tutorialspoint.com/log4j/log4j_logging_levels.htm Mana yang benar ???
Mike

1
periksa kode di mana variabel integer untuk bukti docjar.com/html/api/org/apache/log4j/Level.java.html
the.malkolm

4
di tautan Anda dikatakan bahwa "SEMUA <DEBUG <INFO <PERINGATAN <KESALAHAN <FATAL <OFF" dan itu sama persis seperti yang saya katakan
the.malkolm

6
Diagram Venn OFF () ALL (TRACE (DEBUG (INFO (PERINGATAN (KESALAHAN))))))
Hernán Eche

@ Mike pada log4j Level Logging mereka menggunakan urutan alfabet di tabel pertama . Kecuali untuk yang hilang trace, mereka kemudian menyatakan dengan benar bahwa ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF(yang <artinya kurang penting)
Wolf

24

Hierarki level log4j logging adalah sebagai berikut dalam urutan Tertinggi hingga Terendah:

  • JEJAK
  • DEBUG
  • INFO
  • MEMPERINGATKAN
  • KESALAHAN
  • FATAL
  • MATI

Level log TRACE menyediakan pencatatan tertinggi yang akan membantu untuk memecahkan masalah. Level log DEBUG juga sangat berguna untuk mengatasi masalah.

Anda juga dapat merujuk tautan ini untuk informasi lebih lanjut tentang level log: https://logging.apache.org/log4j/2.0/manual/architecture.html


12

[Diambil dari http://javarevisited.blogspot.com/2011/05/top-10-tips-on-logging-in-java.html]

DEBUG adalah level logging java terendah dan kita harus menulis semua yang kita butuhkan untuk debug aplikasi, mode logging java ini hanya boleh digunakan pada lingkungan Pengembangan dan Pengujian dan tidak boleh digunakan dalam lingkungan produksi.

INFO lebih terbatas daripada DEBUG java logging level dan kita harus mencatat pesan yang bersifat informatif seperti Server telah dimulai, Pesan masuk, pesan keluar dll di INFO level logging di java.

PERINGATAN lebih terbatas daripada tingkat INFO java logging dan digunakan untuk mencatat jenis pesan peringatan misalnya Koneksi terputus antara klien dan server. Koneksi basis data terputus, Socket mencapai batasnya. Pesan-pesan ini dan tingkat pencatatan java hampir penting karena Anda dapat mengatur peringatan pada pesan-pesan pencatatan ini di java dan membiarkan tim dukungan Anda memantau kesehatan aplikasi java Anda dan bereaksi terhadap pesan peringatan ini. Singkatnya, tingkat PERINGATAN digunakan untuk mencatat pesan peringatan untuk masuk ke Jawa.

ERROR adalah level logging java yang lebih terbatas daripada WARN dan digunakan untuk mencatat Kesalahan dan Pengecualian, Anda juga dapat mengatur lansiran pada level logging java ini dan tim pemantau lansiran untuk bereaksi pada pesan ini. ERROR serius untuk masuk ke Jawa dan Anda harus selalu mencetaknya.

Tingkat logging java FATAL menunjukkan peristiwa kesalahan yang sangat parah yang mungkin akan menyebabkan aplikasi dibatalkan. Setelah ini sebagian besar aplikasi Anda macet dan berhenti.

MATI tingkat logging java memiliki peringkat tertinggi dan dimaksudkan untuk mematikan logging di Jawa.


4

Urutan hierarki

  1. SEMUA
  2. JEJAK
  3. DEBUG
  4. INFO
  5. MEMPERINGATKAN
  6. KESALAHAN
  7. FATAL
  8. MATI
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.