2011-08-14 51 views
4

選擇消息的日誌級別一直困擾着我。 儘管我確實做出了明智的決定,但是我沒有遵守任何真正的標準。 有沒有什麼標準?如何形式化選擇日誌級別的正確策略?

你在你的web應用程序在日誌記錄級別決定何時採取什麼策略?

的日誌庫,我使用有以下幾個層次:

  • 調試
  • 資訊
  • 警告
  • 錯誤
  • 關鍵
  • 警報

提前致謝!

回答

4

日誌級別的使用是非常不同的,並不是刻在石頭上。在我的公司,我們主要使用Log4j與水平fatalerrorwarninfodebug。我們的指導方針是:

  • FATAL是一個非常嚴重的錯誤,這將導致應用程序中止。你應該在這裏解釋爲什麼你的申請死亡。此錯誤可能是而不是是由錯誤的用戶操作引起的。
  • 錯誤是爲你的應用程序做一些不應該的錯誤,但它可能會允許它繼續運行。這個錯誤也可能是而不是是由錯誤的用戶操作引起的。
  • WARN是在應用程序的使用具有潛在危害的情況。由於此問題,您的應用程序正在運行並且不會崩潰。也許有一個服務器超時或另一個罕見的,但不是意外的情況。這可能也是由愚蠢的用戶操作引起的。 ;)
  • INFO是報告消息,它告訴一些關於appliation的進展。想想它:「應用程序在做什麼?」或「數據從哪裏來?」。
  • DEBUG是那些最有用的調試應用程序非常細粒度信息事件。日誌記錄此級別默認情況下處於關閉狀態。您可以在應用程序的易錯部分使用它來記錄方法參數或特定變量。

您可以將這些錯誤級別應用於幾乎任何日誌記錄庫。例如,您可以使用我的描述致命爲您的CRITICAL級別。

+0

感謝您的回答。我從來沒有真正想過在用戶或應用程序引起的錯誤之間作出任何區別(我承認,這很愚蠢)。 –

+0

我想知道「log4js」中出現的「TRACE」級別?它似乎是最詳細的日誌記錄級別,甚至高於「DEBUG」。什麼時候應該使用它? –