动态监控日志文件

2022-09-02 14:00:04

我需要监视模式的日志文件。日志文件不断由应用程序写入。

  1. 应用程序可以在我的程序读取日志语句时添加新的日志语句。
  2. 日志在> 200 MB 或一天结束时滚动更新,因此我的程序应动态处理文件名的更改。
  3. 如果我的程序因任何原因崩溃,它必须从中断的地方恢复。

我不想重新发明轮子。我正在寻找一个Java API。我写了一个程序来读取文件并放入一个30秒睡眠的循环中,但这并不符合所有标准。


答案 1

你可以考虑看看apache commons io类,特别是Tailer/TailerListener类。请参阅 http://www.devdaily.com/java/jwarehouse/commons-io-2.0/src/main/java/org/apache/commons/io/input/Tailer.java.shtml


答案 2

这两个 API 可能会有所帮助:

1

JxFileWatcher (官方網站)

在这里阅读它的功能


2

Jnotify

JNotify 是一个 Java 库,它允许 java 应用程序侦听文件系统事件,例如:

  • 已创建文件

  • 文件已修改

  • 文件已重命名

  • 文件已删除


推荐