2015-11-14 111 views
0

我正在開發使用Java,Spring,Hibernate,slf4j,log4j,Oracle db數據庫的中間件應用程序。目前我將輸出記錄到文本文件。我想將日誌存儲在數據庫中以進行故障排除。我試着用log4j db appender直接登錄到db,但是我發現性能太慢了。所以現在,我讓log4j追加到一個文件中,並在一個單獨的線程中,我逐行讀取日誌文件並插入到數據庫中。這種方法不會太慢,也不會影響主應用程序的性能。將輸出記錄到數據庫中

我的問題是,有沒有其他人有更好的主意或有更好的方法來做到這一點?我不想使用loggy或splunk等任何工具,因爲對我而言,這些工具是一種矯枉過正。我想知道我可以使用的任何自制技術。

+0

只是跟進。我最終編寫了我自己的日誌閱讀器讀取文件並將有用的信息插入到數據庫中。 – chandru

回答

1

我知道你說過你不想使用外部工具,但我認爲這是一個錯誤。您爲您的日誌記錄創建定製解決方案所付出的努力已經由其他人完成,並將提供比您更好的更高效且更強大的解決方案。

對於初學者來說,將日誌文件加載到數據庫中只是爲了讓它們更易於搜索是一個壞主意。然後,運行數據庫並加載所有文件的性能開銷,以及必須編寫和測試所有代碼才能執行此操作。

我會建議看看logstash工具。

如果您決定使用您的加載解決方案,然後到數據庫,那麼您需要提供一些關於您打算使用的數據庫類型的信息。

+0

我使用Oracle數據庫來存儲日誌。同時,我會看看logstash工具。謝謝。 – chandru

+0

我想在這裏更新我最終使用Logstash服務器。我的組織已經有一個Logstash服務器設置,我只需要配置日誌文件位置。 – chandru

相關問題