Id 就像一个 OutputStream,它执行 log4j 中 RollingXXXAppender 类中的许多功能。
是否有任何 FOSS 库支持简单 OutputStream 的这种智能。我宁愿代码不知道滚动过程并且不需要任何关于何时滚动的提示?理想情况下,滚动控制助手将被传递到工厂并隐藏在抽象的深处。
示例用例
- 自行关闭 -> 文件.txt
- 将原始文件重命名为备份文件 -> 文件.txt -> 文件.001
- 重新创建一个空文件并继续写入 -> 文件.txt
这种功能最适合任何需要创建非常大的文件(例如日志记录)的系统。
潜在问题
- 它应该有一些智能,并且不会在一行写入的中间滚动。也许最好的解决方案是在写入之前/之后执行滚动测试,而不是在中间执行。
回复:关于如何编写我自己的提示..
我不想自己写,我知道怎么写——这就是我提到 RollingXXXAppender 的原因。我宁愿利用现有库的成果。
最佳答案
我认为您可以通过扩展 FileOutputStream 轻松实现此目的。但要记住的一件事是,只有当您愿意保持文件打开状态(而不是在每次写入时打开和关闭它)时,这种方法才有意义;反过来,只有集中写入此日志文件才有意义。
关于java - FOSS LIB 不是 HOW TODO : OutputStream that auto rolls when file gets too big or hour/day et change,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5826770/