设置异步日志 - LogSetAsync
函数简介
设置是否启用异步日志模式,异步模式可以提高性能。
接口名称
LogSetAsync
DLL调用
int32_t LogSetAsync(int64_t instance, int64_t loggerHandle, int32_t enableAsync)
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | int64_t | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成 |
| loggerHandle | int64_t | 日志实例句柄(0 表示默认实例) |
| enableAsync | int32_t | 是否启用异步日志(1 启用,0 禁用) |
示例
// 启用异步模式(默认)
int result = LogSetAsync(instance, 0, 1);
// 禁用异步模式(同步模式)
int result = LogSetAsync(instance, 0, 0);
// 多实例设置不同模式
int64_t networkLogger = LogCreateInstance(instance, "NetworkLogger");
LogSetAsync(instance, networkLogger, 1); // 网络日志使用异步模式
int64_t criticalLogger = LogCreateInstance(instance, "CriticalLogger");
LogSetAsync(instance, criticalLogger, 0); // 关键日志使用同步模式
返回值
| 返回值 | 说明 |
|---|---|
| 0 | 失败 |
| 1 | 成功 |
注意事项
- 默认值:
1(异步模式) - 异步模式优点:
- 性能更高,不会阻塞主线程
- 适合高频率日志输出的场景
- 异步模式缺点:
- 程序崩溃时可能丢失部分日志(缓冲区中未写入的日志)
- 日志输出有轻微延迟
- 同步模式优点:
- 日志立即写入,不会丢失
- 适合关键日志或调试场景
- 同步模式缺点:
- 性能较低,会阻塞主线程
- 不适合高频率日志输出
- 修改后立即生效,如果日志系统已初始化,会自动重新初始化
- 建议:生产环境使用异步模式,调试环境使用同步模式
