Log.INFO vs. Log.DEBUG [ditutup]

96

Saya sedang mengembangkan program komersial besar dan terus bingung antara informasi apa yang ingin saya log dengan Log.INFO dan Log.DEBUG. Apakah ada standar atau aturan umum tentang isi setiap jenis pesan log?

sitinus
sumber

Jawaban:

132

Saya biasanya mencoba menggunakannya seperti ini:

  • DEBUG: Informasi menarik untuk Pengembang, saat mencoba men-debug masalah.
  • INFO: Informasi menarik untuk staf Dukungan yang mencoba mencari tahu konteks kesalahan yang diberikan
  • PERINGATAN ke FATAL: Masalah dan Kesalahan tergantung pada tingkat kerusakan.
nfechner.dll
sumber
dapat INFO selalu diaktifkan dalam produksi, apakah itu akan berdampak pada kinerja?
pinkpanther
1
Itu tergantung .. (Saya suka jawaban itu) Faktor-faktor yang perlu Anda perhitungkan adalah: 1. Jumlah baris info log 2. Setup logging (di mana baris logging Anda berakhir?) 3. Pemrosesan yang tersedia dan daya io pada sistem terkait.
nfechner
1
Dan ketahuilah bahwa semakin banyak kebisingan, semakin sulit untuk menemukan masalah. Dari plumberjack.blogspot.be/2010/09/… :> Sejalan dengan filosofi Unix, perangkat lunak tidak boleh terlalu banyak bicara kecuali jika diperlukan, atau diminta. (mengapa saya tidak bisa mendapatkan kutipan ini?)
axd
38

Debug : pernyataan terperinci tentang status program, biasanya digunakan untuk debugging;

Info : pernyataan informasional mengenai status program, mewakili peristiwa program atau penelusuran perilaku;

Warn : pernyataan yang menjelaskan peristiwa atau status yang berpotensi membahayakan dalam program;

Error : pernyataan yang menjelaskan error non-fatal dalam aplikasi; tingkat ini cukup sering digunakan untuk logging yang ditangani dengan pengecualian;

Fatal : pernyataan yang mewakili kondisi kesalahan paling parah, yang diasumsikan mengakibatkan penghentian program.

Ditemukan di http://www.beefycode.com/post/Log4Net-Tutorial-pt-1-Getting-Started.aspx

Ash Burlaczenko
sumber
Haruskah kesalahan yang dipicu oleh masukan pengguna diperlakukan sebagai peringatan atau kesalahan? (Nama pengguna atau sandi salah IE)
Stevoisiak
@Stevoisiak berdasarkan jawabannya saya kira itu harus diperlakukan sebagai info.
aderchox
9

Ingat juga bahwa semua info(),, error()dan debug()pencatatan panggilan menyediakan dokumentasi internal dalam aplikasi apa pun.

Pinky
sumber
Saya pikir itu poin yang bagus. Misal log.info("parse the widget text; ignore contents of 'foo'")berfungsi sebagai dokumentasi yang berguna saat membaca kode, meskipun itu juga merupakan pernyataan log.
Rebus