2008-10-07 58 views

回答

0

我想補充一些關於記錄實踐的方面。

  1. 使它成爲一種將功能日誌與開發日誌分開的做法。在生產環境中,功能日誌可能涉及DBMS或其他資源。我們可以通過在實際記錄器上編寫包裝來實現此目的。
  2. 在多用戶環境中,日誌語句變得難以閱讀,擁有唯一的用戶會話ID並在開發階段將其記錄下來。然後,一個簡單的perl腳本可以過濾掉這些部分,使調試更簡單。使用上述的包裝類很容易做到
  3. 包裝類也使您免於被綁定到一個特定的日誌API。
  4. 嘗試使用面向方面的方法來記錄可能的情況,這基本上是使用點切割完成的(方法入口/出口點可以輕鬆覆蓋)。清理代碼會更容易。
3

庫:Log4JLog4Net(分別用於Java和.NET)

從Log4J的網站:

插入記錄語句到你的代碼是用於調試它一個低技術含量的方法。它也可能是唯一的方法,因爲調試器並不總是可用或適用的。分佈式應用程序通常是這種情況。

另一方面,有人認爲日誌語句會污染源代碼並降低易讀性。 (我們相信情況正好相反)。在預處理器不可用的Java語言中,即使關閉日誌記錄,日誌語句也會增加代碼的大小並降低其速度。鑑於合理大小的應用程序可能包含數千條日誌語句,速度尤其重要。

使用log4j,可以在運行時啓用日誌記錄,而無需修改應用程序二進制文件。 log4j軟件包的設計使得這些語句可以保留在附帶的代碼中,而不會產生沉重的性能成本。記錄行爲可以通過編輯配置文件來控制,而不需要觸摸應用程序二進制文件。

日誌功能爲開發人員提供了應用程序故障的詳細上下文。另一方面,測試爲應用程序提供了質量保證和信心。記錄和測試不應該混淆。它們是互補的。當明智地使用記錄時,它可以證明是一個重要的工具。

相關問題