2012-01-04 35 views
2

我想創建包含有關我的服務的統計數據的滾動文件。例如,將包含參數X的每個請求記錄爲某個結果集。 我寫這些文件符合與其他系統的統計數據:如何將統計數據寫入java中的滾動文件

  • 卷文件每隔半小時
  • 每個文件都必須有列標題
  • 我必須遵循嚴格的文件名稱約定如tracking.display.1314116577.done

我的服務是用Java編寫。

由於我需要滾動文件,使用記錄器似乎是一個很好的方向,所以我嘗試了一種方法,我會使用logback記錄器(我的記錄器choise)記錄數據,但傳統的滾動文件appender不能角色文件每半小時(或者我錯了嗎?),不能添加列標題,並且有一個嚴格的命名約定。 我試圖寫我自己的RollingPolicy,但找不到足夠的資源或如何完成的例子。

任何人都可以顯示/引薦我如何做到這一點? 如果不是,你會推薦一個不同的方法?

謝謝!

回答

2

是的,你可以做一個logback appender。

看看TimeBasedRollingPolicyRollingFileAppender你可以在半小時內輕鬆地滾動文件。

要編寫標題,您可以擴展RollingFileAppender並根據需要添加標題。

+0

滾動政策似乎依靠SimpleDateFormat,我不能讓它每半小時滾動一次,只有一小時或一分鐘/小時。它如何輕鬆完成?我會嘗試擴展文件appender。謝謝! – Orka 2012-01-05 13:26:33

0

一個非常愚蠢的答案:獲取伐木權花費很多時間。所以這是更容易從頭開始實施自己的記錄器。看起來你有非常嚴格的要求。例如,「.done」 - 您可能首先將其編寫爲「.part」,然後在完成後重命名它。