2010-09-08 61 views
2

這個問題是語言不可知的。列舉的層次之間有什麼區別。在應用程序中,我看到了很多INFO消息,這些消息似乎對我調試信息,反之亦然。在記錄Level.INFO和Level.DEBUG之間的概念區別是什麼

+0

您是否想象在標準日誌級別上存在一些官方的ISO分類標準?我一直認爲他們是特設的。 – 2010-09-08 14:30:18

+0

不,我只是想知道是否有一些不成文的「法律」或最佳做法。 – 2010-09-08 14:57:30

回答

3

那麼,這有很多不同的解釋。我個人的看法是:

  • 信息 - 與應用的狀態或進度信息。這是應該編寫用於確定應用程序當前狀態的信息的地方。
  • 調試 - 有關內部過程或應用程序故障的信息。這是應寫入故障和診斷信息的地方。

以上都不是標準化的,但代表了我的意見和觀察。

0

我想說,概念區別是目標受衆。 「info」適用於使用應用程序的用戶,「debug」適用於開發應用程序本身的開發人員。

+0

不好意思,但我認爲這是一個非常深刻的差別,它必須反映在用於記錄的頻道的差異中,而不僅僅是水平。典型的日誌記錄設置發送所有日誌,在任何級別,相同的日誌文件,也許優先級更高的消息去額外的渠道,如電子郵件或控制檯或任何其他。但是與用戶的溝通需要與用戶界面進行帶內溝通,這不是ISTM的理念,因爲它可以深入到日誌框架中。 – 2010-09-09 12:22:03

1

我的經驗法則是,如果您打開某些組件的調試日誌記錄,則日誌應該變得如此之快以至於看起來令人興奮,而如果您打開信息登錄,則日誌應該變得非常緩慢,看。然後你可以根據你的情緒調節日誌級別:如果你正在做一些黑客攻擊,你需要刺激,所以你打開調試日誌記錄並進入正在發生的事情的流程;如果您正在監視構建或測試運行,則可以打開信息記錄,並觀察所有事情是否正常。

2

ddj.com上的這個Article涵蓋了除此之外的其他主題。雖然它說「BAsic」,而不是「信息」,這可能更正確:

* Logging Class 0: Basic 
     o Data sources/documents/connections opened and closed 
     o Size or number of items in opened documents 
     o Commands executed 
     o User or requester information 
     o All messages shown to users 
     o All answers/choices users have made 
* Logging Class 1: Extended 
     o Information from certain important functions called, such as executed or passed program paths. 
     o Information about received and processed events/requests 
     o All status information shown to users 
* Logging Class 2: Debug 
     o Information from within loops for all iterations 
     o Extensive data dumps 
     o Additional debug information 
相關問題