【问题标题】:Fixed size log file containing only the most recent entries仅包含最新条目的固定大小日志文件
【发布时间】:2011-06-22 15:39:14
【问题描述】:

如果程序运行时间足够长(超过一个小时),我肯定会发生一个错误。

解决此问题的唯一方法是打印大量调试信息,不幸的是,这些调试信息正以 1MB/s 的速度增长!

虽然 util.Logging.FileHandler 可以选择设置日志文件的大小限制,但它只是擦除文件并在达到限制后从头开始写入。

有没有办法以“滚动”方式写入日志文件,这样在超过大小限制时,最新条目会取代最旧的条目而不是清除所有内容?目前,我在日志文件之间来回切换,但可能会让人感到困惑。

谢谢!

【问题讨论】:

  • 我假设你已经尝试过google.co.uk/search?q=rolling+logger+java
  • @PeterLawrey 是的,我有。但是,大多数人会创建多个固定大小的日志,这是我目前拥有的。有一个连续滚动的文件会很好。 :D
  • 您不能从文件的开头删除,因为操作系统不支持。您只能追加到文件的末尾。拥有滚动文件是您唯一的选择。 (这不是 Java 的限制,而是操作系统的限制)

标签: java debugging logging netbeans file-io


【解决方案1】:

您可以使用还是考虑使用Log4j??

manual 中搜索“RollingFileAppender”。使用它的“MaxFileSize”和“MaxBackupIndex”属性应该可以解决问题!

【讨论】:

    猜你喜欢
    • 2015-06-19
    • 2014-11-17
    • 2018-05-30
    • 2021-07-20
    • 1970-01-01
    • 2013-12-25
    • 2018-04-14
    • 2018-10-19
    • 2019-02-16
    相关资源
    最近更新 更多