日志模块为 Game Macro 系统提供全面的日志功能,包括多个日志接收器和灵活配置。
| English Version | 中文版本 |
日志模块提供:
日志系统设计采用灵活的接收器架构:
主日志管理和协调系统。
用于不同目标的多个日志接收器实现。
基于文件的日志记录,支持轮转和压缩。
内存日志记录,用于实时监控。
基于管道的日志记录,用于外部日志处理器。
可配置的日志设置和行为。
LogConfig := {
Level: "INFO",
Format: "{timestamp} [{level}] {module}: {message}",
Sinks: ["File", "Memory"],
FileConfig: {
Path: "logs/app.log",
MaxSize: 10485760, ; 10MB
MaxFiles: 5,
Compress: true
},
MemoryConfig: {
MaxEntries: 1000,
AutoFlush: true
}
}
标准化的日志条目格式。
LogEntry := {
Timestamp: "2024-01-01T12:00:00.000Z",
Level: "INFO",
Module: "RotationEngine",
Message: "Rotation started successfully",
Data: {},
ThreadId: 1
}
用于不同日志目标的灵活接收器架构。
Sink := {
Type: "File",
IsEnabled: true,
Level: "INFO",
Write: Func("WriteLogEntry"),
Flush: Func("FlushSink"),
Close: Func("CloseSink")
}
初始化日志系统。
参数:
config(Map):日志配置返回:布尔值指示成功
关闭日志系统。
参数:无
返回:布尔值指示成功
设置全局日志级别。
参数:
level(字符串):日志级别(DEBUG、INFO、WARNING、ERROR)返回:布尔值指示成功
获取当前日志级别。
参数:无
返回:当前日志级别
记录调试消息。
参数:
module(字符串):模块名称message(字符串):日志消息data(Map):附加数据(可选)返回:布尔值指示成功
记录信息消息。
参数:
module(字符串):模块名称message(字符串):日志消息data(Map):附加数据(可选)返回:布尔值指示成功
记录警告消息。
参数:
module(字符串):模块名称message(字符串):日志消息data(Map):附加数据(可选)返回:布尔值指示成功
记录错误消息。
参数:
module(字符串):模块名称message(字符串):日志消息data(Map):附加数据(可选)返回:布尔值指示成功
添加新的日志接收器。
参数:
sinkConfig(Map):接收器配置返回:布尔值指示成功
移除日志接收器。
参数:
sinkId(字符串):接收器标识符返回:布尔值指示成功
启用日志接收器。
参数:
sinkId(字符串):接收器标识符返回:布尔值指示成功
禁用日志接收器。
参数:
sinkId(字符串):接收器标识符返回:布尔值指示成功
检索日志条目。
参数:
level(字符串):日志级别过滤器(可选)module(字符串):模块名称过滤器(可选)limit(整数):返回条目数量限制(可选)返回:日志条目数组
清除所有日志条目。
参数:无
返回:布尔值指示成功
; 记录不同级别的消息
Logger_Debug("MyModule", "调试消息")
Logger_Info("MyModule", "信息消息")
Logger_Warning("MyModule", "警告消息")
Logger_Error("MyModule", "错误消息")
; 记录带附加数据的消息
Logger_Info("RotationEngine", "旋转开始", {
"rotationId": 1,
"skillCount": 5,
"threadId": 1
})
; 配置文件接收器
fileSink := {
Type: "File",
Path: "logs/custom.log",
MaxSize: 5242880, ; 5MB
MaxFiles: 3
}
Logger_AddSink(fileSink)
; 检索最近的错误日志
errors := Logger_GetEntries("ERROR", , 10)
for i, entry in errors {
MsgBox, % "错误: " entry.Message
}
日志配置存储在配置文件数据中:
profile := App["ProfileData"]
profile["LogConfig"] := LogConfig
日志设置可以在运行时动态调整:
; 动态更改日志级别
Logger_SetLevel("DEBUG")
; 添加临时接收器
Logger_AddSink(temporarySink)
日志模块包含全面的错误处理:
模块提供实时监控的调试接口:
; 启用详细日志调试
Logger_EnableDebug()
; 获取调试信息
debugInfo := Logger_GetDebugInfo()
日志系统性能可以实时监控:
; 获取性能统计
stats := Logger_GetPerformanceStats()
Logger_Info("Logger", "性能统计", stats)