主题
设置目录组织模式 - LogSetDirMode
函数简介
设置日志文件的目录组织模式,支持按日期、模块、级别、小时等多种方式组织日志文件。
接口名称
LogSetDirModeDLL调用
c
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/) |
示例
SDK 调用
cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int ret = ola.LogSetDirMode(0, 0);
if (ret == 1) {
// 操作成功
}csharp
using OLAPlug;
var ola = new OLAPlugServer();
int ret = ola.LogSetDirMode(0, 0);
if (ret == 1)
{
// 操作成功
}python
from OLAPlugServer import OLAPlugServer
ola = OLAPlugServer()
ret = ola.LogSetDirMode(0, 0)
if ret == 1:
pass # 操作成功java
import com.olaplug.OLAPlugServer;
OLAPlugServer ola = new OLAPlugServer();
int ret = ola.LogSetDirMode(0, 0);
if (ret == 1) {
// 操作成功
}cpp
var ola = com("OlaPlug.OlaSoft")
var ret = ola.LogSetDirMode(0, 0)
if(ret == 1) {
// 操作成功
}vbscript
Set ola = CreateObject("OlaPlug.OlaSoft")
ret = ola.LogSetDirMode(0, 0)
If ret = 1 Then
' 操作成功
End Iftext
.局部变量 ola, OLAPlug
ola.创建 ()
ret = ola.LogSetDirMode(0, 0)
.如果真 (ret = 1)
' 操作成功
.如果真结束aardio
import OLAPlugServer;
var ola = OLAPlugServer();
var ret = ola.LogSetDirMode(0, 0);
if(ret == 1){
// 操作成功
}text
变量 ola <类型 = OLAPlugServer>
ola = 新建 OLAPlugServer
整数 ret = ola.LogSetDirMode(0, 0)
如果真 (ret = 1)
{
// 操作成功
}cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int32_t ret = ola.LogSetDirMode(0, 0);
if (ret == 1) {
// 操作成功
}原生 DLL 调用
cpp
LogSetDirMode(instance, 0, 0);csharp
using System.Runtime.InteropServices;
using System.Text;
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogSetDirMode(long ola, int loggerHandle, int dirMode);
LogSetDirMode(instance, 0, 0);python
from ctypes import CDLL, c_int, c_int64, create_string_buffer
ola = CDLL("OLAPlug_x64.dll")
ola.CreateCOLAPlugInterFace.restype = c_int64
ola.LogSetDirMode(instance, 0, 0)返回值
| 返回值 | 说明 |
|---|---|
1 | 成功。 |
0 | 失败。 |
注意事项
| 项目 | 说明 |
|---|---|
| 默认值 | OLA_LOG_DIR_FLAT (0) - 平铺模式。 |
| 可以使用位或运算(` | `)组合多种模式 |
| 使用 `OLA_LOG_DIR_BY_MODUL | 使用 OLA_LOG_DIR_BY_MODULE 时需要先调用 LogSetModuleName 设置模块名称。 |
| 修改后立即生效 | 修改后立即生效,如果日志系统已初始化,会自动重新初始化。 |
| 目录结构的顺序为 | 日期 → 模块 → 级别 → 小时。 |
