设置日志文件的命名模式,支持多种占位符实现动态文件命名。
int32_t LogSetFileNamePattern(int64_t instance, int64_t loggerHandle, const char* fileNamePattern)
| 参数名 | 类型 | 说明 |
|---|
| instance | int64_t | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成 |
| loggerHandle | int64_t | 日志实例句柄(0 表示默认实例) |
| fileNamePattern | string | 文件名模式 |
| 占位符 | 说明 | 示例 |
|---|
| {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");
LogSetModuleName(instance, 0, "network");
LogSetFileNamePattern(instance, 0, "{module}_{date}.log");
LogSetFileNamePattern(instance, 0, "log_{datetime}.log");
LogSetFileNamePattern(instance, 0, "{level}_{date}.log");
LogSetFileNamePattern(instance, 0, "app_{pid}_{date}.log");
LogSetFileNamePattern(instance, 0, "app_{date}_{index}.log");
LogSetFileNamePattern(instance, 0, "{year}{month}{day}_{hour}{minute}.log");
- 默认值:
app.log - 文件分割时,如果模式中包含
{index},会自动递增序号 - 如果模式中不包含
{index},分割时会自动在文件名后添加序号 - 修改后立即生效,如果日志系统已初始化,会自动重新初始化
- 建议避免使用操作系统不支持的特殊字符(如
\ / : * ? " < > |) - 占位符区分大小写,必须使用小写字母