如何在java中将统计数据写入滚动文件

时间:2012-01-04 18:21:01

标签: java file logback

我想创建包含有关我的服务的统计数据的滚动文件。 例如,使用特定结果集记录包含参数X的每个请求。 我必须编写这些文件以符合其他系统统计数据:

  • 每半小时滚动一次文件
  • 每个文件都必须有列标题
  • 我必须遵循严格的文件名约定,例如 tracking.display.1314116577.done

我的服务是用Java编写的。

由于我需要滚动文件,使用记录器似乎是一个很好的方向所以我尝试了一种方法,我将使用logback logger(我的选择器记录器)记录数据,但是传统的滚动文件appender不能每个文件的角色半小时(或者我错了吗?),无法添加列标题并且具有自己的严格命名约定。 我曾尝试编写自己的RollingPolicy,但找不到足够的资源或示例。

任何人都可以展示/推荐我如何实现这一目标吗? 如果没有,你会推荐一种不同的方法吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

是的,您可以使用logback appender来完成。

查看TimeBasedRollingPolicyRollingFileAppender,您可以每半小时轻松滚动文件。

要编写标题,您可以扩展RollingFileAppender并根据需要添加标题。

答案 1 :(得分:0)

一个非常愚蠢的答案:正确记录成本需要花费很多时间。因此,从头开始更容易实现您自己的记录器。看来你的要求非常严格。例如“.done” - 您可能首先将其写为“.part”,然后在完成后重命名。