2012-02-08 124 views
1

我們有使用log4j生成日誌的進程,並且一些日誌條目應該被加載到數據庫中用於分析和報告(現在所有內容都將進入文件)。問題是,其中一些進程無法訪問數據庫。所以我們的想法是,每個進程都在生成一個文件,然後由另一個有權訪問數據庫的進程發送/讀取該文件。解析log4j輸出

該文件的首選格式是標準的log4j文本格式,這樣相同的文件既可以被加載到數據庫中的進程使用,也可以由真實的人讀取。所以問題是:是否有一個現有的日誌文件解析器(理想的是一個Java庫)?我們不想花時間編寫解析器。

另一種解決方案是生成兩個文件,一個用於人類閱讀,另一個用例如序列化的log4j日誌記錄事件,可以輕鬆地進行反序列化,但現在我的管理層不購買這個...

也有可能是我沒有看到其他的解決方案,所以任何的建議是歡迎

+0

這裏是一個類似的問題的鏈接:http://stackoverflow.com/questions/2327073/parse-a-log4j-log-file – breezee 2012-02-08 19:34:38

+0

我看到這一個,但答案指的是另一個appender(我想避免),UI工具(鋸木廠,電鋸)或手動解析,我想避免所有這些。 – Xavier 2012-02-08 20:18:52

回答

0

有很多的「日誌管理」產品。一個簡單的谷歌搜索應該給很多點擊。 我聽說過有關splunk和sawmill的事情,但我沒有在真實的生產環境中試用過它們。

http://splunk-base.splunk.com/answers/767/how-do-i-setup-splunk-to-index-log4j-with-orgapachelog4jrollingfileappender

+0

這不是我正在尋找的。據我所知,splunk或sawmill正在將數據加載到他們自己的結構/數據庫中,然後使用他們的報告/分析工具。在這裏,我想要將數據加載到我們自己的自定義日誌表中,以使用使用這些表的內部預先存在的工具。 – Xavier 2012-02-08 20:15:04

+0

如果你有一個專有的格式/數據庫堅持我認爲你堅持寫你自己的解析器/數據庫實現.. – 2012-02-08 20:21:16

0

您可以編寫生成以後可以運行SQL語句或其它容易解析的格式自定義的appender。

+0

我想有相同的文件包含要解析的數據和數據是人類可讀的。 SQL語句在人們看來有點可讀,但在閱讀日誌時卻不是真正用戶友好的 – Xavier 2012-02-08 21:47:06