清理旧日志文件 - LogCleanupOldFiles
函数简介
清理超过保留数量的旧日志文件。
接口名称
LogCleanupOldFiles
DLL调用
int32_t LogCleanupOldFiles(int64_t instance, int64_t loggerHandle, int32_t keepCount)
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | int64_t | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成 |
| loggerHandle | int64_t | 日志实例句柄(0 表示默认实例) |
| keepCount | int32_t | 保留文件数量(-1 表示使用配置值) |
示例
// 使用配置的保留数量(默认10个)
int result = LogCleanupOldFiles(instance, 0, -1);
// 只保留最近5个日志文件
int result = LogCleanupOldFiles(instance, 0, 5);
// 只保留最近1个日志文件(清理所有旧文件)
int result = LogCleanupOldFiles(instance, 0, 1);
// 定期清理示例
// 每天清理一次旧日志
LogCleanupOldFiles(instance, 0, 30); // 保留最近30天的日志
// 多实例场景
int64_t networkLogger = LogCreateInstance(instance, "NetworkLogger");
int64_t dbLogger = LogCreateInstance(instance, "DatabaseLogger");
LogCleanupOldFiles(instance, networkLogger, 20); // 网络日志保留20个
LogCleanupOldFiles(instance, dbLogger, 50); // 数据库日志保留50个
返回值
| 返回值 | 说明 |
|---|---|
| 0 | 失败 |
| 1 | 成功 |
注意事项
- 参数
keepCount为 -1 时,使用LogSetMaxFiles设置的值(默认10个) - 清理规则:按文件修改时间排序,删除最旧的文件
- 当前正在使用的日志文件不会被删除
- 只清理与当前日志实例相关的文件
- 建议定期调用此函数,避免日志文件占用过多磁盘空间
- 清理操作是安全的,不会影响正在写入的日志
