VBMAN.Logs - 日志记录对象
概述
VBMAN.Logs 提供了多通道日志记录功能,支持文件日志、窗体显示、网页远程调试等输出方式。
核心特性
- 多通道输出: 文件、窗体、DbgView、网页远程调试
- 日志级别: 支持多种日志级别控制
- 异步提交: 网络日志采用异步方式,不阻塞程序
- 日志查看器: 内置日志查看窗体
日志级别枚举
vb
Public Enum EnumLogLevel
LvInfo = 0 ' 信息
LvWarn = 1 ' 警告
LvDanger = 2 ' 危险
LvError = 3 ' 错误
LvDebugger = 4 ' 调试
LvCustom = 5 ' 自定义
End Enum日志文件名规则枚举
vb
Public Enum EnumLogFileNameRule
None = 0 ' 无规则
ByMonth = 1 ' 按月份
ByDay = 2 ' 按天
byUser = 3 ' 用户自定义
End Enum属性
| 属性 | 类型 | 说明 |
|---|---|---|
LogLevelControl | EnumLogLevel | 当前日志控制级别 |
SendToFormView | Boolean | 是否输出到窗体 |
SendToDbgView | Boolean | 是否输出到 DbgView |
SendToWebView | Boolean | 是否输出到网页 |
FormListBox | VB.ListBox | 输出到的列表框控件 |
FormListBoxMaxItem | Long | 列表框最大条目数 |
LogDir | String | 日志文件根目录 |
LogSubDir | String | 日志子目录 |
LogFileNameRule | EnumLogFileNameRule | 日志文件名规则 |
LogFileNameByUer | String | 用户自定义文件名 |
WebUserCode | String | 网页调试用户识别码 |
ShowLogsViewer | Boolean | 日志查看器是否显示(可读写) |
LastError | String | 最后错误信息 |
方法
HostApp
设置宿主应用程序(链式调用)
vb
Public Function HostApp(o As Object) As cLogsView
设置日志查看器显示状态(链式调用)
vb
Public Function View(Value As Boolean) As cLogsData
添加日志数据(链式调用)
vb
Public Function Data(ByVal LogContent As String, Optional ByVal LogTitle As String, Optional LogLevel As EnumLogLevel = LvInfo) As cLogs示例:
vb
VBMAN.Logs.Data("用户登录成功", "登录模块", LvInfo)DataLine
添加带换行的日志数据(链式调用)
vb
Public Function DataLine(ByVal LogContent As String, Optional ByVal LogTitle As String, Optional LogLevel As EnumLogLevel = LvInfo) As cLogs示例:
vb
VBMAN.Logs.DataLine "操作完成" & vbCrLf & "结果: 成功", "业务模块", LvInfoToFormView
输出到窗体列表框
vb
Public Function ToFormView(LogStr As String, Optional LogLevel As EnumLogLevel) As StringToWebView
输出到网页远程调试
vb
Public Function ToWebView(LogStr As String, Optional LogLevel As EnumLogLevel) As String综合示例
示例1: 基本日志记录
vb
Private Sub TestLog()
' 简单日志
VBMAN.Logs.Data "程序启动", "系统", LvInfo
' 带标题和级别的日志
VBMAN.Logs.Data "磁盘空间不足", "监控", LvWarn
' 多行日志
VBMAN.Logs.DataLine "发生错误" & vbCrLf & Err.Description, "错误处理", LvError
End Sub示例2: 链式调用
vb
Private Sub ChainLog()
VBMAN.Logs _
.HostApp(Me) _
.View(True) _
.Data("初始化完成", "启动", LvInfo) _
.Data("加载配置", "配置", LvInfo) _
.DataLine "配置加载完成", "配置", LvInfo
End Sub示例3: 输出到窗体控件
vb
Private Sub Form_Load()
' 设置输出到 List1 控件
Set VBMAN.Logs.FormListBox = List1
VBMAN.Logs.FormListBoxMaxItem = 500
VBMAN.Logs.SendToFormView = True
End Sub
Private Sub DoSomething()
VBMAN.Logs.Data "正在处理...", "业务", LvInfo
' ... 处理逻辑
VBMAN.Logs.Data "处理完成", "业务", LvInfo
End Sub示例4: 网页远程调试
vb
Private Sub SetupWebLog()
' 设置网页调试用户码(在 http://log.vb6.pro 注册)
VBMAN.Logs.WebUserCode = "myapp123"
VBMAN.Logs.SendToWebView = True
End Sub
Private Sub RemoteLog()
VBMAN.Logs.ToWebView "远程调试信息", LvInfo
End Sub示例5: 打开日志查看器
vb
Private Sub ShowLogViewer()
VBMAN.Logs.ShowLogsViewer = True
' 或
VBMAN.Logs.View(True)
End Sub最佳实践
- 日志级别控制: 根据环境设置合适的 LogLevelControl
- 异步网络日志: 网页调试使用异步提交,不影响性能
- 日志清理: 定期清理旧日志文件
- 敏感信息: 不要在日志中记录密码等敏感信息
- 错误处理: 日志记录失败不应影响主程序运行