日誌語言只需要兩個級別: INFO 和 ERROR

banq發表於2024-05-08


日誌很重要,日誌記錄對維護網路應用至關重要,日誌記錄不力可能導致問題無法被發現,從而引起客戶不滿。

常見日誌級別:
大多數程式語言和日誌庫都提供多種日誌級別,通常包括ERROR、WARN、INFO、DEBUG 和 TRACE。不過,不同語言和框架的具體級別及其用法可能會有很大差異。

日誌的目的:
日誌有多種用途,包括發現和修復錯誤、除錯、瞭解應用程式使用情況以及深入瞭解系統如何工作。

日誌級別需要簡單性:
在實踐中,通常兩個日誌級別就足夠了:INFO 和 ERROR。

  • INFO 日誌提供上下文,有助於瞭解應用程式正在做什麼
  • 而 ERROR 日誌則提醒開發人員需要注意的問題。

其他日誌級別不需要:
作者批評了 WARN、DEBUG 和 TRACE 等附加日誌級別的使用,認為它們往往會導致混亂:開發人員可能會被大量警報淹沒,導致重要問題被忽視。

這些級別的日誌要麼是無用的,應予以刪除;

  • 要麼是對除錯有用的,應作為 INFO;
  • 要麼是重要的,應作為 ERROR 處理。

最佳實踐:
文章提出了幾種增強日誌的最佳實踐,包括:

  • 附加請求或跟蹤 ID、
  • 包含時間戳、
  • 為使用者或文件上下文新增相關 ID、
  • 記錄審計資訊、
  • 指出設定了哪些功能標誌,
  • 以及指定日誌的來源。

日誌一致性:
作者強調了日誌記錄一致性的重要性,建議不要在修復漏洞時新增日誌,之後又將其刪除。相反,他們建議維護一套對各種問題都有用的通用日誌。

總結:
log4j等現代日誌框架只需要兩者:

  • 闡明上下文
  • 突出問題所在

這兩種型別正是簡明邏輯的體現,首先從這兩個入手,其他警告級別是更多細節,從屬於這兩種型別,如果這兩種型別不明顯,可以使用其他級別。但是如果每個程式設計師都具有上下文概念,那麼一切簡單多了。

相關文章