2009-06-12 37 views
5

對於一個Web應用程序或獨立服務器應用程序,你會推薦,爲什麼?登錄一個地方與多個日誌

  • 擁有巨大的application.log,其中一切都記錄在案;
  • 有許多較小的日誌:
    • security.log
    • performance.log
    • lifecycle.log
    • integration.log

回答

6

我喜歡使用數據庫進行日誌記錄。四個有用的功能:

  1. 您不會失去時間順序,就像您在同時查看多個日誌文件時所經歷的那樣。
  2. 如果需要,您仍然可以按特定的消息類型進行過濾。
  3. 你會得到完整性,所以如果你的計算機在你寫日誌文件時發生崩潰,那麼你不會得到一個損壞的日誌,並且當你的數據庫再次啓動時,它會在日誌中重播。
  4. 修剪日誌是真的很容易!不需要使用hacky的日誌輪轉程序,這需要你的守護進程被SIGHUP或任何東西。

您的里程可能會有所不同。 :-)

1

取決於你的日誌的評論。你應該在最好的地方回答它。您是否需要特定的日誌,以便您可以更準確地識別問題,或者您是否需要整體日誌來進行維護?

我總是會使用不同的日誌,只要它們不會導致太多開銷。

2

我建議多個日誌的一對夫婦的原因:

  • 降低噪音,如果有生產故障情況下的時間計數。
  • 不同的組可以得到不同的日誌。與應用程序組相比,系統組可能需要不同的日誌,因爲每個系統都有其系統的一部分,可以優化設置。

至於如何登錄,我會建議混合數據庫,電子郵件和本地文本文件,以防萬一有問題需要連接到另一臺服務器。

+0

+1我在日誌中看到的一個大問題是,他們經常被數據淹沒,使得它有時像在乾草堆中找到寓言的針。 – Cuga 2009-06-12 15:42:11

1

如果你期待很多日誌記錄,你會很快知道去哪裏看,然後把它們分開。一個大的日誌文件可能很快就會變得不真實,但是如果你不斷地在relavent條目中查找多個日誌文件,那也是不好的。所以當你把它們分開的時候,確保它是在你遇到錯誤的時候,你確切地知道哪個文件要先打開。

1

我建議使用現成的集中式測井系統,而不是自己開發。這將允許您隨時以任何形式輕鬆挖掘數據。它也應該爲你節省時間和頭痛。管理日誌文件不僅是您的應用程序的負擔,因爲您必須編寫額外的代碼,但也適用於實際查看文本的人類。查看logFaces,它可能會解決您的一些問題 - 它帶有它自己的數據庫,可以用於大多數商業數據庫品牌,並允許即時訪問相關的日誌數據。

披露:我是該產品的作者。

相關問題