Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 日志文件的动态监控_Java_Logging - Fatal编程技术网

Java 日志文件的动态监控

Java 日志文件的动态监控,java,logging,Java,Logging,我需要监视日志文件中的模式。应用程序不断写入日志文件 应用程序可以在我的程序读取日志语句时添加新的日志语句 当日志大于200 MB或在一天结束时,日志会滚动,所以我的程序应该动态处理文件名的更改 如果我的程序因任何原因崩溃,它必须从停止的地方恢复 我不想重新发明轮子。我正在寻找一个JavaAPI。我编写了一个程序来读取文件,并在30秒睡眠的情况下进行循环,但这并不符合所有标准。这两个API可能会有所帮助: 1. 2. JNotify是一个java库,允许java应用程序侦听文件系统事件,

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

  • 应用程序可以在我的程序读取日志语句时添加新的日志语句
  • 当日志大于200 MB或在一天结束时,日志会滚动,所以我的程序应该动态处理文件名的更改
  • 如果我的程序因任何原因崩溃,它必须从停止的地方恢复

  • 我不想重新发明轮子。我正在寻找一个JavaAPI。我编写了一个程序来读取文件,并在30秒睡眠的情况下进行循环,但这并不符合所有标准。

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

    1.


    2.

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

    • 创建的文件

    • 文件修改

    • 文件重命名

    • 文件删除

    如果您正在使用或可以集成它,则可以将日志输出附加到方便的对象,例如,正如在本相关问题中所讨论的:

    这看起来类似:

    实际上,您使用的是BufferedReader。跟踪您的结束位置将是您必须添加的内容,也许捕获最后一行


    同一个问题的引用,它看起来很有趣,可以做大部分你想要的。

    < P>你可以考虑查看Apache CAMONS IO类,特别是Tayel/TureListEnter类。看

    我确实从log4j中查看了socketAppender,最初它导致我的日志生成器速度显著减慢。接下来是在AsyncAppender中包装日志生成器。这确实释放了制作人,但我偶尔会看到“EOF套接字关闭”。我的testcase将在5分钟的时间窗口内为性能测试生成1分钟事件。>=Java 8: