【发布时间】:2013-12-13 14:06:19
【问题描述】:
在我从事的每个项目中,总是存在日志文件变得过大的问题。
一个快速现成的解决方案是使用 Log4j RollingFileAppender 并设置允许的最大大小。
但是,在某些情况下,在有人手动干预之前,相同的异常会反复发生并很快达到最大大小。在那种情况下,由于滚动策略,您最终会丢失发生在异常之前的重要事件的信息。
有人可以建议解决此问题吗?
附:我能想到的是保存到目前为止发生的Exceptions 的缓存,这样当再次发生相同的异常时,我就不会记录大量的堆栈跟踪行。不过我认为这一定是一个众所周知的问题,我不想重新发明轮子。
【问题讨论】:
-
什么样的异常?如果这是您可以解决或改进的问题,请考虑您可能正在尝试治疗症状而不是问题。您还可以考虑使用FileHandler 来使用轮换日志。您可以指定日志文件的数量及其最大大小,并在它们之间循环。此外,请考虑让您的代码按照@TimB 的建议定期压缩日志。
-
因此问题不是要求提供站外资源、工具或库。答案指出了几种不需要其他工具的潜在解决方案。
-
@Gep 我也面临着类似的问题。你最后采用了什么方法?
标签: java logging log4j rollingfileappender