我有一个应用程序将其日志文件写入一个特殊的文件夹。 现在我想添加一个function来自动删除这些日志在一段确定的时间后。 但是我应该保留这些日志文件多久? 什么是“好的”默认值(7天或180天)? 或者你更喜欢其他标准(例如最大使用磁盘空间)?
没有单一的答案。 需要考虑的因素:
我有一些日志在几天内翻滚,还有一些是保存多年的日志。
在理论上,我倾向于保留访问日志的时间比错误日志更长(在某些情况下,永远,一旦我剥离了标识信息),我一旦解决了问题就不需要它们。
我保留了一些其他的debugging日志(显示用户活动,他们如何与系统交互等),以便我们可以看到每个版本的情况如何变化。
…
这让我想起了当我为一所大学工作的时候,一个轶事 – pipe理层带来了一个外部顾问,对我们正在build设的networking服务器进行第三方审查。 我被告知交给他们3个月的日志,以检查我们是否适当地调整了系统的大小。 我知道这是一个迹象,他们不知道自己在做什么,因为大学是循环的 – 随着时间的推移,networking服务器的负载趋于上升,但在每年年初,决赛时间等高峰。
取决于要求……logging保存可能会有法律要求,而且您必须考虑多长时间才能有助于排除故障。
除了法律要求和实用程序考虑事项之外,还有很大程度上取决于您的日志咀嚼了多less磁盘空间。 我已经看到非常详细的程序每天轮换他们的日志,而非常安静的程序几乎从不旋转。
根据您的系统,可能值得考虑“logrotate”包,而不是在内部处理日志循环。 只要在/etc/logrotate.d/中放置一个合理的默认文件,并让用户在必要时修改它。
这取决于将使用您的软件的行业。 根据政府的监pipe要求,有许多生产应用可能需要将输出(包括日志文件)保存一段特定的时间。
如果你的申请属于这些领域之一,或者你不确定,你应该咨询你的公司的法律部门。
您应该确保在空间不足之前将日志归档。 🙂
在我们的组织中,日志每天都被存档。 所以特殊的“日志logging”文件夹将只有当天的日志。 该档案在磁盘上保留3个星期,在一个特殊的存档位置,有大量的存储空间。 这将有助于刺激。 支持开发者去看看是否有报道。 这是3周后备份到磁带(是磁带!)。 作为政策磁带被保留了35天。
我现在正在进入这个相同的决定。 我有一个应用程序,将非重要的exception写入日志文件,我已经解决的是为日志文件本身设置一个可configuration的大小阈值。 一旦日志文件达到一定的大小,它将被存档。 档案将每周清理一次。 我也想设置一个“增长率”的门槛,所以如果日志太快填写客户支持将被通知。 不知道如果这是过度杀伤。
这些日志仅用于支持,在我的情况下,没有任何法律或业务要求让他们过去一周。
日志文件的保留取决于正在logging的数据的重要性以及存储日志的存储介质的实际大小以及托pipe服务器的地理位置中的各种合规程序。
日志文件应保留的天数没有硬性规定,尽pipe日志至less有一个月(空间愿意)不是一个坏主意。
将旧日志存储为tar.gz文件也是一个不错的主意,如果空间是一个约束。