主题
写入INFO日志Ex - LogInfoEx
函数简介
写入 INFO 级别日志(扩展版本),支持指定日志实例。
接口名称
LogInfoExDLL调用
c
int32_t LogInfoEx(int64_t instance, int64_t loggerHandle, const char* message);参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| instance | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| loggerHandle | 长整数型 | 日志实例句柄(0 表示默认实例)。 |
| message | 字符串 | 日志消息。 |
示例
推荐联动顺序:
logger = LogCreateInstance("InfoLogger")
→ LogSetLevel(logger, 2) → LogSetBaseDirectory → LogSetFileNamePattern
→ LogInfoEx(logger, "...") → LogFlush(logger) → LogDestroyInstance(logger)INFO=2,正常运行信息(默认级别)。LogCreateInstance 必须传入实例名;失败返回 0。
SDK 调用
cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int64_t logger = ola.LogCreateInstance("InfoLogger");
if (logger == 0) {
return; // 创建失败
}
ola.LogSetLevel(logger, 2); // INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, "D:\\logs");
ola.LogSetFileNamePattern(logger, "app_{date}.log");
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080");
ola.LogFlush(logger);
ola.LogDestroyInstance(logger);csharp
using OLAPlug;
var ola = new OLAPlugServer();
long logger = ola.LogCreateInstance("InfoLogger");
if (logger == 0) return; // 创建失败
ola.LogSetLevel(logger, 2); // INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, @"D:\logs");
ola.LogSetFileNamePattern(logger, "app_{date}.log");
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080");
ola.LogFlush(logger);
ola.LogDestroyInstance(logger);python
from OLAPlugServer import OLAPlugServer
ola = OLAPlugServer()
logger = ola.LogCreateInstance("InfoLogger")
if logger == 0:
raise RuntimeError("LogCreateInstance failed")
ola.LogSetLevel(logger, 2) # INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, r"D:\logs")
ola.LogSetFileNamePattern(logger, "app_{date}.log")
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080")
ola.LogFlush(logger)
ola.LogDestroyInstance(logger)java
import com.olaplug.OLAPlugServer;
OLAPlugServer ola = new OLAPlugServer();
long logger = ola.LogCreateInstance("InfoLogger");
if (logger == 0) {
return; // 创建失败
}
ola.LogSetLevel(logger, 2); // INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, "D:\\logs");
ola.LogSetFileNamePattern(logger, "app_{date}.log");
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080");
ola.LogFlush(logger);
ola.LogDestroyInstance(logger);go
import "github.com/ola/olaplug/olaplug"
ola, _ := olaplug.NewOLAPlugServer("OLAPlug_x64.dll")
defer ola.ReleaseObj()
logger := ola.LogCreateInstance("InfoLogger")
if logger == 0 {
return // 创建失败
}
ola.LogSetLevel(logger, 2) // INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, `D:\logs`)
ola.LogSetFileNamePattern(logger, "app_{date}.log")
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080")
ola.LogFlush(logger)
ola.LogDestroyInstance(logger)rust
use olaplug::OLAPlugServer;
let ola = OLAPlugServer::new("OLAPlug_x64.dll").unwrap();
let logger = ola.log_create_instance("InfoLogger");
if logger == 0 {
return; // 创建失败
}
ola.log_set_level(logger, 2); // INFO=2,正常运行信息(默认级别)
ola.log_set_base_directory(logger, r"D:\logs");
ola.log_set_file_name_pattern(logger, "app_{date}.log");
ola.log_info_ex(logger, "服务启动完成,监听端口 8080");
ola.log_flush(logger);
ola.log_destroy_instance(logger);cpp
var ola = com("OlaPlug.OlaSoft")
var logger = ola.LogCreateInstance("InfoLogger")
if(logger != 0) {
ola.LogSetLevel(logger, 2) // INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, "D:\\logs")
ola.LogSetFileNamePattern(logger, "app_{date}.log")
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080")
ola.LogFlush(logger)
ola.LogDestroyInstance(logger)
}vbscript
Set ola = CreateObject("OlaPlug.OlaSoft")
logger = ola.LogCreateInstance("InfoLogger")
If logger <> 0 Then
ola.LogSetLevel logger, 2 ' INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory logger, "D:\logs"
ola.LogSetFileNamePattern logger, "app_{date}.log"
ola.LogInfoEx logger, "服务启动完成,监听端口 8080"
ola.LogFlush logger
ola.LogDestroyInstance logger
End Iftext
.局部变量 ola, OLAPlug
.局部变量 logger, 长整数型
ola.Create ()
logger = ola.LogCreateInstance (“InfoLogger”)
.如果真 (logger ≠ 0)
ola.LogSetLevel (logger, 2) ' INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory (logger, “D:\logs”)
ola.LogSetFileNamePattern (logger, “app_{date}.log”)
ola.LogInfoEx (logger, “服务启动完成,监听端口 8080”)
ola.LogFlush (logger)
ola.LogDestroyInstance (logger)
.如果真结束aardio
import OLAPlugServer;
var ola = OLAPlugServer();
var logger = ola.LogCreateInstance("InfoLogger");
if(logger != 0){
ola.LogSetLevel(logger, 2); // INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, "D:\\logs");
ola.LogSetFileNamePattern(logger, "app_{date}.log");
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080");
ola.LogFlush(logger);
ola.LogDestroyInstance(logger);
}text
变量 ola <类型 = OLAPlugServer>
ola = 新建 OLAPlugServer
长整数 logger = ola.LogCreateInstance("InfoLogger")
如果真 (logger ≠ 0)
{
ola.LogSetLevel(logger, 2) ' INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, "D:\\logs")
ola.LogSetFileNamePattern(logger, "app_{date}.log")
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080")
ola.LogFlush(logger)
ola.LogDestroyInstance(logger)
}cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
int64_t logger = ola.LogCreateInstance("InfoLogger");
if (logger != 0) {
ola.LogSetLevel(logger, 2); // INFO=2,正常运行信息(默认级别)
ola.LogSetBaseDirectory(logger, "D:\\logs");
ola.LogSetFileNamePattern(logger, "app_{date}.log");
ola.LogInfoEx(logger, "服务启动完成,监听端口 8080");
ola.LogFlush(logger);
ola.LogDestroyInstance(logger);
}原生 DLL 调用
cpp
long instance = CreateCOLAPlugInterFace();
// Native: LogCreateInstance(instance, "name"); LogInfoEx(instance, loggerHandle, message)
long logger = LogCreateInstance(instance, "InfoLogger");
if (logger == 0) {
return; // 创建失败
}
LogSetLevel(instance, logger, 2);
LogSetBaseDirectory(instance, logger, "D:\\logs");
LogSetFileNamePattern(instance, logger, "app_{date}.log");
LogInfoEx(instance, logger, "服务启动完成,监听端口 8080");
LogFlush(instance, logger);
LogDestroyInstance(instance, logger);csharp
using System.Runtime.InteropServices;
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern long CreateCOLAPlugInterFace();
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern long LogCreateInstance(long ola, string instanceName);
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogSetLevel(long ola, long loggerHandle, int level);
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogSetBaseDirectory(long ola, long loggerHandle, string baseDirectory);
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogSetFileNamePattern(long ola, long loggerHandle, string fileNamePattern);
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogInfoEx(long ola, long loggerHandle, string message);
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogFlush(long ola, long loggerHandle);
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern int LogDestroyInstance(long ola, long loggerHandle);
long instance = CreateCOLAPlugInterFace();
long logger = LogCreateInstance(instance, "InfoLogger");
if (logger == 0) return;
LogSetLevel(instance, logger, 2);
LogSetBaseDirectory(instance, logger, @"D:\logs");
LogSetFileNamePattern(instance, logger, "app_{date}.log");
LogInfoEx(instance, logger, "服务启动完成,监听端口 8080");
LogFlush(instance, logger);
LogDestroyInstance(instance, logger);python
from ctypes import CDLL, c_int, c_int64, c_char_p
ola = CDLL("OLAPlug_x64.dll")
ola.CreateCOLAPlugInterFace.restype = c_int64
ola.LogCreateInstance.restype = c_int64
ola.LogCreateInstance.argtypes = [c_int64, c_char_p]
ola.LogSetLevel.argtypes = [c_int64, c_int64, c_int]
ola.LogSetBaseDirectory.argtypes = [c_int64, c_int64, c_char_p]
ola.LogSetFileNamePattern.argtypes = [c_int64, c_int64, c_char_p]
ola.LogInfoEx.argtypes = [c_int64, c_int64, c_char_p]
ola.LogFlush.argtypes = [c_int64, c_int64]
ola.LogDestroyInstance.argtypes = [c_int64, c_int64]
instance = ola.CreateCOLAPlugInterFace()
logger = ola.LogCreateInstance(instance, b"InfoLogger")
if logger == 0:
raise RuntimeError("LogCreateInstance failed")
ola.LogSetLevel(instance, logger, 2)
ola.LogSetBaseDirectory(instance, logger, br"D:\logs")
ola.LogSetFileNamePattern(instance, logger, b"app_{date}.log")
ola.LogInfoEx(instance, logger, "服务启动完成,监听端口 8080".encode("utf-8"))
ola.LogFlush(instance, logger)
ola.LogDestroyInstance(instance, logger)返回值
| 返回值 | 说明 |
|---|---|
1 | 成功。 |
0 | 失败。 |
注意事项
| 项目 | 说明 |
|---|---|
| INFO 级别用于记录程序的正常运行信息 | INFO 级别用于记录程序的正常运行信息。 |
| OLA_LOG_LEVEL_INFO | 只有当日志级别设置为 OLA_LOG_LEVEL_INFO (2) 或更低时才会输出。 |
与 LogInfo 的区别 | 支持指定日志实例,适合多实例场景。 |
| 这是默认的日志级别 | 这是默认的日志级别,适合生产环境使用。 |
| 如果日志系统未初始化 | 如果日志系统未初始化,第一次调用时会自动初始化。 |
