11

我需要具有以下功能的事务日志库:

  • 最大性能。不强制(刷新),让 O/S 自行决定写入缓冲区。文件大小以大块的形式增加,以最大限度地减少元数据修改。我不在乎是否丢失了一些最后的记录。

    • 以倒序读取记录(最近的在前)。

问题是,如何在读取日志文件时找到最后一条有效记录?可以使用哪些技术,或者是否有现成的开源库?

4

2 回答 2

2

您是否检查过 HOWL - 高速 ObjectWeb Logger是否符合您的要求?它相当过时,似乎不允许随机访问或向后阅读。但是,它支持设置标记和从标记开始重播事件。因为它是开源的,所以它可能会适应您的需求。

您也可以调查JBoss Transaction的日志记录部分是否合适。

请通过事务日志指定“向后阅读”的含义。事务日志可能包含来自多个事务的日志,每个事务由一系列事件组成。

更多关于事务日志的信息可以在这里找到(当然也可以在网上找到):

  • Java 事务处理:设计与实现 (ISBN 978-0130352903)
  • 事务信息系统基础:理论、算法和并发控制和恢复的实践 (ISBN 978-1558605084)
  • 交易处理原则 (ISBN 978-1558606234)
  • 以及关于数据库系统概念的各种书籍

希望这有助于更接近您的目标

迈克尔

于 2013-06-13T07:30:38.230 回答
-3

大多数著名的日志系统(如 log4j 和 apache)都支持不同类型的日志机制,您只需正确配置它们即可。但是,如果您想向后记录,它确实会消耗资源,因为流是连续的,您应该将新记录推送到所有其他记录的顶部。也可能您应该自己完成大部分日志记录代码。

于 2013-06-12T05:33:11.323 回答