-1

我需要记录具有以下要求的信息:

  • 它用于将数据写入文件,后者将被处理
  • 输出行具有预定义的结构
  • 必须非常快
  • 它应该缓冲数据并将其写入后台文件。
  • 它应该支持旋转文件,并且还应该允许在需要时手动旋转文件

你碰巧知道任何支持这个的好图书馆吗?或者你会建议我自己写吗?我不介意自己实施一个,但我想在做出决定之前知道我的选择是什么。

4

2 回答 2

3

大多数常见的 Java 日志库都支持您所要求的大部分内容,除了异步写入部分。您可能想查看以下广泛使用的库:

  • Log4J - Log4J 具有极强的可配置性,但它确实存在一些应该在即将发布的新 2.x 版本系列中解决的问题。

  • Logback - 这被设计为 Log4J 1.2 的继承者 - Log4J 2.x 将包括 Logback 所做的一些改进。

  • SLF4J - 这个库可以充当许多底层日志库的代理,允许根据需要切换日志框架。这实际上可能是避免将自己绑定到特定日志库的最佳选择,尽管它可能不如直接使用底层 API 高效。

至于异步写入要求,如果有必要,将所有日志推送到您自己的单独线程应该相对容易。

编辑:

显然,Log4J 确实支持异步日志记录

于 2012-12-07T09:48:46.100 回答
0

我没有任何直接经验,但似乎 log4j 是一个非常受欢迎的选择。快速检查表明它支持文件轮换并且被认为是快速的(至少,比 Java 的内置设施快得多),在我看来,这是您要求中最严格的两个。

链接:

主要网站

一些SO讨论

于 2012-12-07T09:48:00.047 回答