设置自动刷新间隔 - LogSetFlushInterval
函数简介
设置日志自动刷新到文件的时间间隔。
接口名称
LogSetFlushInterval
DLL调用
int32_t LogSetFlushInterval(int64_t instance, int64_t loggerHandle, int32_t flushIntervalSeconds)
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | int64_t | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成 |
| loggerHandle | int64_t | 日志实例句柄(0 表示默认实例) |
| flushIntervalSeconds | int32_t | 自动刷新间隔(秒) |
示例
// 每条日志立即刷新(默认)
int result = LogSetFlushInterval(instance, 0, 0);
// 每3秒自动刷新一次
int result = LogSetFlushInterval(instance, 0, 3);
// 每10秒自动刷新一次
int result = LogSetFlushInterval(instance, 0, 10);
// 多实例设置不同刷新间隔
int64_t networkLogger = LogCreateInstance(instance, "NetworkLogger");
LogSetFlushInterval(instance, networkLogger, 5); // 网络日志每5秒刷新
int64_t criticalLogger = LogCreateInstance(instance, "CriticalLogger");
LogSetFlushInterval(instance, criticalLogger, 0); // 关键日志立即刷新
返回值
| 返回值 | 说明 |
|---|---|
| 0 | 失败 |
| 1 | 成功 |
注意事项
- 默认值:
0(每条日志立即刷新到文件) - 设置为 0:
- 每条日志都立即写入文件(最安全,但性能较低)
- 适合关键日志或调试场景
- 设置为 > 0:
- 只有 WARN 及以上级别的日志才会立即刷新
- 其他日志会缓冲,定期刷新
- 适合高频率日志输出的场景
- 无论设置如何,都可以手动调用
LogFlush强制刷新 - 此设置立即生效,无需重新初始化
- 建议根据日志重要性和性能需求合理设置
