2012-08-06 33 views
2

我必須登錄到一個excel工作表中的服務器上,以同樣的方式在正常的log4j附加器將除了excel工作表(這是在Java)的要求。服務器日誌記錄追加到excel工作表

我目前沒有找到關於此的適當信息。有沒有提供appender的庫或可以使用的庫?也想知道是否有任何影響追加到Excel文件,而不是正常的文本文件日誌,性能,可能的錯誤等?

+0

你有沒有考慮http://logsaw.sourceforge.net /。在這個問題中提到:http:// stackoverflow。com/questions/144807/java-log-viewer – Jayan 2012-08-06 05:22:33

回答

3

直接登錄到一個Excel工作表並不似乎是個好主意。您將「記錄」和「分析日誌」這兩個職責混合爲一個代碼。

您可能希望將數據導入到作具體分析的電子表格。在這種情況下,您可能需要特定的格式(關於哪些數據轉到哪個表)。考慮編寫一個特定的解析器,然後將數據導入到Excel表格中 - 使用API​​如apache-poi這將是直接的。

如果你真的想要一個特殊的記錄,開始Log to a database using log4j這也解釋了有關數據庫日誌記錄,然後讓擅長搞出來的。

只要文件系統允許,記錄就是無限的。 Excel - 依賴於其版本 - 對可存儲的記錄數量有限制。 (bemace評論中的其他問題)。

+0

+1,Excel也將佔用比標準日誌格式多得多的磁盤空間,並可能造成性能瓶頸。 – 2012-08-06 05:15:22

+0

同意,我們只需用「\ t」分隔日誌,然後簡單地將其導入到excel中進行查看,並通過excel自動創建列,這比直接記錄到Excel電子表格 – MilindaD 2012-08-18 06:33:13

2

我認爲你的問題的直接答案可以是:「你可以創建自己的log4j appender」(這是你可以做到的how)。從技術上講,log4j帶有大量的appender,你可以隨時創建一個新的appender。

此appender可能會使用Apache POI(link),它提供了一個Java API用於創建和格式化Excel電子表格。

這是所有好,並會在技術上的工作,但在此之前我會三思而後行。畢竟使用Excel的日誌聽起來彆扭:)

我可以提出一個折衷方案,如果你仍然有一個Excel電子表格。 使用'文件附加器'創建CSV文件(逗號分隔值)。 該excel將輕鬆讀取這樣一個文件,它的足夠好的初始處理。 你甚至不需要編寫你的appender只需確保你正確地配置你的佈局。

或者我可以在一些工具,可以在日誌處理幫你指出:

Apache Chainsaw

Lilith

有日誌查看here的一個很好的名單,我敢肯定,你可以在google爲更多。

希望這log4j的使用和幫助的PatternLayout

0

登錄一個CSV格式。然後用電鋸來分析日誌 - 電鋸的最新開發快照修改了配置UI並有一噸的新特點,使得這個簡單:

http://people.apache.org/~sdeboy

相關問題