我需要具有以下功能的事务日志库:
最大性能。不强制(刷新),让 O/S 自行决定写入缓冲区。文件大小以大块的形式增加,以最大限度地减少元数据修改。我不在乎是否丢失了一些最后的记录。
- 以倒序读取记录(最近的在前)。
问题是,如何在读取日志文件时找到最后一条有效记录?可以使用哪些技术,或者是否有现成的开源库?
我需要具有以下功能的事务日志库:
最大性能。不强制(刷新),让 O/S 自行决定写入缓冲区。文件大小以大块的形式增加,以最大限度地减少元数据修改。我不在乎是否丢失了一些最后的记录。
问题是,如何在读取日志文件时找到最后一条有效记录?可以使用哪些技术,或者是否有现成的开源库?
您是否检查过 HOWL - 高速 ObjectWeb Logger是否符合您的要求?它相当过时,似乎不允许随机访问或向后阅读。但是,它支持设置标记和从标记开始重播事件。因为它是开源的,所以它可能会适应您的需求。
您也可以调查JBoss Transaction的日志记录部分是否合适。
请通过事务日志指定“向后阅读”的含义。事务日志可能包含来自多个事务的日志,每个事务由一系列事件组成。
更多关于事务日志的信息可以在这里找到(当然也可以在网上找到):
希望这有助于更接近您的目标
迈克尔
大多数著名的日志系统(如 log4j 和 apache)都支持不同类型的日志机制,您只需正确配置它们即可。但是,如果您想向后记录,它确实会消耗资源,因为流是连续的,您应该将新记录推送到所有其他记录的顶部。也可能您应该自己完成大部分日志记录代码。