2010-10-13 77 views
4

我正在尋找一個風格指南來記錄消息:日誌消息的風格指南

例如:

  • 什麼&當
  • 約定
  • 風格&格式化
  • 可讀性

即是什麼讓一個好/壞日誌消息字符串

我在什麼使一個很好的日誌字符串特別感興趣 - 超越包括時間,嚴重程度和組成部分,因爲我傾向於使用log4j的,給了我這個信息免費。

YYYY-MM-DDTHH:MM:SS.mmm

無論你決定,如果它是一個文本日誌,每一行的開頭用,最好,ISO格式良好的時間戳

+0

相關[凡/應記錄代碼走什麼樣的水平?](http://stackoverflow.com/questions/3658527/where-what-level-should-logging-code-go) – 2010-10-13 16:59:19

回答

1

這確實取決於你的應用。我可以從任何位於/ var/log中汲取靈感/ *

1

有效的記錄是一門藝術,但也有一些重大的項目,可以幫助:

  • 線程ID:企業應用程序通常在多線程環境中執行。使用線程ID信息,您可以區分一個請求與另一個請求。

  • 來電顯示:來電的身份(或主體)也是一個重要的信息。由於不同的用戶有不同的權限,他們的執行路徑可能會有很大的不同將用戶的身份放在日誌消息中對於支持安全性的應用程序來說是一個很大的幫助。

  • 時間戳:通常,用戶只能近似發生問題的時間。沒有時間戳,支持人員很難確定問題。

  • 源代碼信息:這包括類名,方法名和行號。

(這些提示取自this IBM article on Java logging。)

1

公約方面,幾年我一直在格式化我的日誌爲:

severity timestamp source message 

隨着severity是符號:

(-) Info 
(!) Warning 
(*) Error 

如:

(-) 2010-10-13T18:53:42 foo: Starting up... 
(!) 2010-10-13T18:54:11 foo: bar: Unable to lock file "quux", will try again in 4 seconds. 
(-) 2010-10-13T18:56:13 foo: Loading plugin "baz"... 
(*) 2010-10-13T18:57:39 foo: baz: Error 0xbaadbeef during RPC. 
(-) 2010-10-13T18:58:04 foo: Shutting down... 

我發現瀏覽更容易 - 搜索特定的消息類(所有錯誤,所有警告),特別是在使用終端中的尋呼機瀏覽日誌時。