设置文件名模式 - LogSetFileNamePattern
函数简介
设置日志文件的命名模式,支持多种占位符实现动态文件命名。
接口名称
LogSetFileNamePattern
DLL调用
int32_t LogSetFileNamePattern(int64_t instance, int64_t loggerHandle, const char* fileNamePattern);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| loggerHandle | 长整数型 | 日志实例句柄(0 表示默认实例) |
| fileNamePattern | 字符串 | 文件名模式 |
支持的占位符
| 占位符 | 说明 | 示例 |
|---|---|---|
| {date} | 当前日期(YYYY-MM-DD) | 2026-03-02 |
| {time} | 当前时间(HH-MM-SS) | 14-30-45 |
| {datetime} | 日期时间(YYYY-MM-DD_HH-MM-SS) | 2026-03-02_14-30-45 |
| {module} | 模块名称(通过 LogSetModuleName 设置) | network |
| {level} | 日志级别 | INFO |
| {index} | 文件序号(从 1 开始递增) | 1, 2, 3... |
| {pid} | 进程ID | 12345 |
| {year} | 年份(4位数字) | 2026 |
| {month} | 月份(01-12) | 03 |
| {day} | 日期(01-31) | 02 |
| {hour} | 小时(00-23) | 14 |
| {minute} | 分钟(00-59) | 30 |
| {second} | 秒(00-59) | 45 |
示例
// 默认模式
LogSetFileNamePattern(instance, 0, "app.log");
// 按日期命名
LogSetFileNamePattern(instance, 0, "app_{date}.log");
// 结果:app_2026-03-02.log
// 使用索引(文件分割时自动递增)
LogSetFileNamePattern(instance, 0, "app_{date}_{index}.log");
// 结果:app_2026-03-02_1.log, app_2026-03-02_2.log...
返回值
1 成功,0 失败。
注意事项
- 默认值:
app.log - 文件分割时,如果模式中包含
{index},会自动递增序号 - 如果模式中不包含
{index},分割时会自动在文件名后添加序号 - 修改后立即生效,如果日志系统已初始化,会自动重新初始化
- 建议避免使用操作系统不支持的特殊字符
- 占位符区分大小写,必须使用小写字母
