设置日志格式 - LogSetPattern
函数简介
设置日志的输出格式,支持多种占位符自定义日志样式。
接口名称
LogSetPattern
DLL调用
int32_t LogSetPattern(int64_t instance, int64_t loggerHandle, const char* logPattern);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| loggerHandle | 长整数型 | 日志实例句柄(0 表示默认实例) |
| logPattern | 字符串 | 日志格式(为空则使用默认格式) |
支持的占位符
| 占位符 | 说明 |
|---|---|
%Y | 年份(4位数字,如 2026) |
%y | 年份(2位数字,如 26) |
%m | 月份(01-12) |
%d | 日期(01-31) |
%H | 小时(00-23,24小时制) |
%I | 小时(01-12,12小时制) |
%M | 分钟(00-59) |
%S | 秒(00-59) |
%e | 毫秒(000-999) |
%f | 微秒(000000-999999) |
%F | 纳秒(000000000-999999999) |
%p | AM/PM 标识 |
%T | ISO 8601 时间格式(HH:MM:SS) |
%v | 日志消息内容 |
%l | 日志级别(TRACE, DEBUG, INFO, WARN, ERROR, CRITICAL) |
%L | 日志级别简写(T, D, I, W, E, C) |
%n | 日志记录器名称 |
%t | 线程ID |
%P | 进程ID |
%s | 源文件名 |
%g | 源文件短名称(不含路径) |
%# | 源代码行号 |
%! | 函数名 |
%^ | 颜色范围开始标记 |
%$ | 颜色范围结束标记 |
示例
// 默认格式
LogSetPattern(instance, 0, "[%Y-%m-%d %H:%M:%S.%e] [%^%l%$] %v");
// 输出:[2026-03-02 14:30:45.123] [INFO] 日志消息
// 简洁格式
LogSetPattern(instance, 0, "[%T.%e] [%L] %v");
// 输出:[14:30:45.123] [I] 日志消息
// 包含线程ID
LogSetPattern(instance, 0, "[%Y-%m-%d %H:%M:%S.%e] [%t] [%^%l%$] %v");
// 输出:[2026-03-02 14:30:45.123] [12345] [INFO] 日志消息
返回值
1 成功,0 失败。
注意事项
- 默认格式:
[%Y-%m-%d %H:%M:%S.%e] [%^%l%$] %v - 修改后立即生效,如果日志系统已初始化,会自动重新初始化
%^和%$用于控制颜色范围,仅在控制台输出时有效- 占位符区分大小写
- 格式字符串基于 spdlog 库的格式规范
