【发布时间】:2017-09-23 22:43:25
【问题描述】:
我有一个在多个服务器上运行的应用程序,这些服务器已经运行了几个月,其中有一个使用 logback 的 java 应用程序。原来我们忘了限制历史大小。
我配置了以下参数:
- maxHistory: 10
- cleanHistoryOnStart: true
我重新部署了应用程序,但当它启动时,文件仍然存在并且没有被删除。
这个配置不应该确保文件在启动时被删除吗?该怎么做?
【问题讨论】:
我有一个在多个服务器上运行的应用程序,这些服务器已经运行了几个月,其中有一个使用 logback 的 java 应用程序。原来我们忘了限制历史大小。
我配置了以下参数:
- maxHistory: 10
- cleanHistoryOnStart: true
我重新部署了应用程序,但当它启动时,文件仍然存在并且没有被删除。
这个配置不应该确保文件在启动时被删除吗?该怎么做?
【问题讨论】:
这是一个老问题,但如果其他人对此感到困惑,以下是可能发生这种情况的一些可能原因:
maxHistory 值意味着意外。来自Logback
documentation:
例如,如果您指定每月翻转,并将 maxHistory 设置为 6, 那么 6 个月的档案文件将与较旧的文件一起保存 超过6个月被删除。
cleanHistoryOnStart 在 1.0.1 中引入在最后 3 种情况下,应该在某处记录错误,内容如下:
Logback 文件错误:[cleanHistoryOnStart] 没有适用的操作, 当前模式是 [...]
如果您不确定您检查的位置是否正确,请故意拼错并查找日志。然后更正拼写错误并检查错误是否仍然存在(这次是因为它无效)。
【讨论】: