设置目录组织模式 - LogSetDirMode
函数简介
设置日志文件的目录组织模式,支持按日期、模块、级别、小时等多种方式组织日志文件。
接口名称
LogSetDirMode
DLL调用
int32_t LogSetDirMode(int64_t instance, int64_t loggerHandle, int32_t dirMode);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| loggerHandle | 长整数型 | 日志实例句柄(0 表示默认实例) |
| dirMode | 整数型 | 目录模式(可位或组合),见 LogDirMode 枚举 |
LogDirMode 枚举值
| 枚举值 | 值 | 说明 |
|---|---|---|
| OLA_LOG_DIR_FLAT | 0 | 平铺模式(所有日志在同一目录) |
| OLA_LOG_DIR_BY_DATE | 1 | 按日期分目录 (2026-02-27/) |
| OLA_LOG_DIR_BY_MODULE | 2 | 按模块分目录 (network/) |
| OLA_LOG_DIR_BY_LEVEL | 4 | 按级别分目录 (error/) |
| OLA_LOG_DIR_BY_HOUR | 8 | 按小时分目录 (2026-02-27-14/) |
示例
// 平铺模式(默认)
int result = LogSetDirMode(instance, 0, OLA_LOG_DIR_FLAT);
// 按日期分目录
int result = LogSetDirMode(instance, 0, OLA_LOG_DIR_BY_DATE);
// 结果:./user_logs/2026-03-02/app.log
// 按日期和模块分目录(组合使用)
int result = LogSetDirMode(instance, 0, OLA_LOG_DIR_BY_DATE | OLA_LOG_DIR_BY_MODULE);
// 结果:./user_logs/2026-03-02/network/app.log
返回值
1 成功,0 失败。
注意事项
- 默认值:
OLA_LOG_DIR_FLAT(0) - 平铺模式 - 可以使用位或运算(
|)组合多种模式 - 使用
OLA_LOG_DIR_BY_MODULE时需要先调用LogSetModuleName设置模块名称 - 修改后立即生效,如果日志系统已初始化,会自动重新初始化
- 目录结构的顺序为:日期 → 模块 → 级别 → 小时
