设置输出目标 - LogSetTarget
函数简介
设置日志的输出目标,可以同时输出到文件和控制台。
接口名称
LogSetTarget
DLL调用
int32_t LogSetTarget(int64_t instance, int64_t loggerHandle, int32_t targetFlags)
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | int64_t | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成 |
| loggerHandle | int64_t | 日志实例句柄(0 表示默认实例) |
| targetFlags | int32_t | 输出目标(LogTarget 组合) |
LogTarget 枚举值
| 枚举值 | 值 | 说明 |
|---|---|---|
| OLA_LOG_TARGET_NONE | 0 | 无输出 |
| OLA_LOG_TARGET_FILE | 1<<0 | 输出到文件 |
| OLA_LOG_TARGET_CONSOLE | 1<<1 | 输出到控制台 |
示例
// 同时输出到文件和控制台(默认)
int result = LogSetTarget(instance, 0, OLA_LOG_TARGET_FILE | OLA_LOG_TARGET_CONSOLE);
// 只输出到文件
int result = LogSetTarget(instance, 0, OLA_LOG_TARGET_FILE);
// 只输出到控制台
int result = LogSetTarget(instance, 0, OLA_LOG_TARGET_CONSOLE);
// 不输出(禁用日志)
int result = LogSetTarget(instance, 0, OLA_LOG_TARGET_NONE);
// 多实例设置不同输出目标
int64_t networkLogger = LogCreateInstance(instance, "NetworkLogger");
LogSetTarget(instance, networkLogger, OLA_LOG_TARGET_FILE); // 只输出到文件
int64_t debugLogger = LogCreateInstance(instance, "DebugLogger");
LogSetTarget(instance, debugLogger, OLA_LOG_TARGET_CONSOLE); // 只输出到控制台
返回值
| 返回值 | 说明 |
|---|---|
| 0 | 失败 |
| 1 | 成功 |
注意事项
- 默认值:
OLA_LOG_TARGET_FILE | OLA_LOG_TARGET_CONSOLE(3) - 可以使用位或运算(
|)组合多个目标 - 控制台输出支持彩色显示(不同级别显示不同颜色)
- 修改后立即生效,如果日志系统已初始化,会自动重新初始化
- 设置为
OLA_LOG_TARGET_NONE可以临时禁用日志输出
