日志清理配置
概述
SnailJob 支持日志清理策略配置,有效控制存储空间占用。根据版本不同,提供不同的配置方式:
- 开源版本:支持全局配置日志保留天数
- PRO版本:支持按任务维度配置,同时保留全局配置
版本功能对比
功能特性 | 开源版本 | PRO版本 |
---|---|---|
全局日志保留天数配置 | ✅ | ✅ |
按任务维度配置 | ❌ | ✅ |
日志最大记录数限制 | ❌ | ✅ |
双重清理机制 | ❌ | ✅ |
灵活配置策略 | ❌ | ✅ |
功能特性
开源版本功能
- 全局配置:通过
logStorage
参数统一配置所有任务的日志保留天数 - 简单易用:配置简单,适合中小型项目
- 默认保留:默认保留7天日志
PRO版本功能
- 按任务维度配置:每个任务可以独立配置日志清理策略
- 双重清理机制:支持按天数和按记录数两种清理方式
- 灵活配置:可以单独启用或组合使用两种清理策略
- 全局配置保留:同时支持全局配置作为默认值
- 实时生效:配置修改后立即生效
配置说明
开源版本配置
全局日志保留天数配置
功能描述:通过全局配置统一设置所有任务的日志保留天数
配置方式:
yaml
# 服务端配置文件
snail-job:
log-storage: 7 # 全局日志保留天数,默认7天
配置说明:
log-storage
:全局日志保留天数,单位为天- 默认值:7天
- 支持范围:1-365天
- 影响范围:所有任务的日志都会按照此配置进行清理
清理规则:
- 系统会定期检查并删除超过保留天数的日志
- 清理操作在后台异步执行,不影响任务正常执行
- 清理后的日志无法恢复
PRO版本配置
按任务维度配置
功能描述:每个任务可以独立配置日志清理策略,同时支持全局配置作为默认值
配置优先级:
- 任务级配置(最高优先级)
- 全局配置(默认值7天)
日志保留天数
功能描述:自动删除超过指定天数的历史日志记录
配置方式:
- 在任务配置页面找到"日志保留天数"选项
- 开启开关后设置保留天数(默认继承全局配置)
- 支持1-365天的范围设置
清理规则:
- 系统会定期检查并删除超过保留天数的日志
- 清理操作在后台异步执行,不影响任务正常执行
- 清理后的日志无法恢复
日志最大记录数
功能描述:限制单个任务的最大日志记录数量,超出时自动删除最旧的记录
配置方式:
- 在任务配置页面找到"日志最大记录数"选项
- 开启开关后设置最大记录数(默认1000条)
- 支持(>=100)条的范围设置
清理规则:
- 当日志记录数超过设定值时,自动删除最旧的记录
- 采用FIFO(先进先出)策略进行清理
- 清理操作实时进行,确保记录数不超过设定值
配置界面
PRO版本功能
以下配置界面仅适用于PRO版本,开源版本请使用全局配置方式。

界面说明
日志保留天数
- 橙色开关:控制是否启用按天数清理
- 数值输入框:设置保留天数(1-365天)
- 默认值:继承全局配置或7天
日志最大记录数
- 橙色开关:控制是否启用按记录数清理
- 数值输入框:设置最大记录数(>=100)
- 默认值:1000条
使用场景
开源版本使用场景
中小型项目
适合使用全局配置的场景:
- 任务数量较少(< 50个)
- 日志保留需求相对统一
- 希望配置简单,维护成本低
配置建议:
yaml
snail-job:
log-storage: 7 # 根据项目需求调整,建议7-30天
PRO版本使用场景
高频任务场景
对于执行频率较高的任务,建议同时启用两种清理策略:
- 设置较短的保留天数(如3-7天)
- 设置适中的最大记录数(如500-1000条)
低频任务场景
对于执行频率较低的任务,可以只启用按天数清理:
- 设置较长的保留天数(如30-90天)
- 关闭按记录数清理
调试任务场景
对于需要长期保留日志的调试任务:
- 设置较长的保留天数(如180-365天)
- 设置较大的最大记录数(如5000-10000条)
混合场景
对于包含不同类型任务的大型项目:
- 全局配置设置默认值
- 重要任务单独配置较长的保留期
- 测试任务配置较短的保留期
最佳实践
开源版本配置建议
合理设置全局保留天数
- 生产环境:建议7-30天
- 测试环境:建议3-7天
- 开发环境:建议1-3天
配置示例
yaml
# 生产环境配置
snail-job:
log-storage: 15 # 保留15天
# 测试环境配置
snail-job:
log-storage: 5 # 保留5天
# 开发环境配置
snail-job:
log-storage: 3 # 保留3天
PRO版本配置建议
合理设置保留天数
- 生产环境:建议7-30天
- 测试环境:建议3-7天
- 开发环境:建议1-3天
合理设置最大记录数
- 高频任务:500-1000条
- 中频任务:1000-3000条
- 低频任务:3000-5000条
组合使用策略
- 建议同时启用两种清理策略
- 确保存储空间得到有效控制
- 避免日志数据过度积累
配置优先级管理
- 全局配置作为默认值
- 重要任务单独配置
- 定期检查配置合理性
注意事项
数据安全
- 清理后的日志无法恢复
- 重要任务的日志建议设置较长的保留期
- 可以定期导出重要日志进行备份
性能影响
- 清理操作在后台异步执行
- 不会影响任务的正常执行
- 大量日志清理时可能短暂占用系统资源
监控建议
- 定期检查日志清理效果
- 根据实际使用情况调整配置
- 关注存储空间使用情况
配置示例
开源版本配置示例
示例1:生产环境配置
yaml
# 服务端配置文件
snail-job:
log-storage: 15 # 全局保留15天日志
示例2:测试环境配置
yaml
# 服务端配置文件
snail-job:
log-storage: 5 # 全局保留5天日志
示例3:开发环境配置
yaml
# 服务端配置文件
snail-job:
log-storage: 3 # 全局保留3天日志
PRO版本配置示例
示例1:高频任务配置
yaml
# 高频任务日志清理配置(此处只是说明配置参数,具体配置请在页面配置)
logRetentionDays: 7 # 保留7天
maxLogRecords: 500 # 最大500条记录
示例2:低频任务配置
yaml
# 低频任务日志清理配置(此处只是说明配置参数,具体配置请在页面配置)
logRetentionDays: 30 # 保留30天
maxLogRecords: 2000 # 最大2000条记录
示例3:调试任务配置
yaml
# 调试任务日志清理配置(此处只是说明配置参数,具体配置请在页面配置)
logRetentionDays: 90 # 保留90天
maxLogRecords: 5000 # 最大5000条记录
示例4:混合配置场景
yaml
# 全局配置(默认值)
snail-job:
log-storage: 7 # 全局默认保留7天
# 重要任务单独配置(此处只是说明配置参数,具体配置请在页面配置)
logRetentionDays: 30 # 重要任务保留30天
maxLogRecords: 5000 # 最大5000条记录
# 测试任务单独配置(此处只是说明配置参数,具体配置请在页面配置)
logRetentionDays: 3 # 测试任务保留3天
maxLogRecords: 100 # 最大100条记录
常见问题
Q1:开源版本和PRO版本有什么区别?
A:主要区别如下:
- 开源版本:只支持全局配置
log-storage
参数,所有任务使用相同的日志保留天数 - PRO版本:支持按任务维度配置,同时保留全局配置作为默认值,还支持日志最大记录数限制
Q2:日志清理后还能恢复吗?
A:不能。清理后的日志记录会被永久删除,无法恢复。建议在清理前导出重要日志。
Q3:清理操作会影响任务执行吗?
A:不会。清理操作在后台异步执行,不会影响任务的正常执行。
Q4:如何确定合适的保留天数?
A:建议根据任务的重要性和执行频率来确定:
- 重要任务:建议保留30-90天
- 普通任务:建议保留7-30天
- 测试任务:建议保留1-7天
Q5:PRO版本中任务级配置和全局配置的优先级是什么?
A:配置优先级从高到低为:
- 任务级配置(最高优先级)
- 全局配置(默认值7天)
Q6:PRO版本中两种清理策略可以同时使用吗?
A:可以。建议同时启用两种策略,确保存储空间得到有效控制。
Q7:清理策略什么时候生效?
A:配置保存后立即生效,系统会按照设定的策略自动进行日志清理。
Q8:如何从开源版本升级到PRO版本?
A:升级到PRO版本后,原有的全局配置会自动作为默认值保留,同时可以使用任务级配置功能。