Skip to content

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

属性 ​

属性类型说明
LogLevelControlEnumLogLevel当前日志控制级别
SendToFormViewBoolean是否输出到窗体
SendToDbgViewBoolean是否输出到 DbgView
SendToWebViewBoolean是否输出到网页
FormListBoxVB.ListBox输出到的列表框控件
FormListBoxMaxItemLong列表框最大条目数
LogDirString日志文件根目录
LogSubDirString日志子目录
LogFileNameRuleEnumLogFileNameRule日志文件名规则
LogFileNameByUerString用户自定义文件名
WebUserCodeString网页调试用户识别码
ShowLogsViewerBoolean日志查看器是否显示(可读写)
LastErrorString最后错误信息

方法 ​

HostApp ​

设置宿主应用程序(链式调用)

vb
Public Function HostApp(o As Object) As cLogs

View ​

设置日志查看器显示状态(链式调用)

vb
Public Function View(Value As Boolean) As cLogs

Data ​

添加日志数据(链式调用)

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 & "结果: 成功", "业务模块", LvInfo

ToFormView ​

输出到窗体列表框

vb
Public Function ToFormView(LogStr As String, Optional LogLevel As EnumLogLevel) As String

ToWebView ​

输出到网页远程调试

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

最佳实践 ​

  1. 日志级别控制: 根据环境设置合适的 LogLevelControl
  2. 异步网络日志: 网页调试使用异步提交,不影响性能
  3. 日志清理: 定期清理旧日志文件
  4. 敏感信息: 不要在日志中记录密码等敏感信息
  5. 错误处理: 日志记录失败不应影响主程序运行

VB6及其LOGO版权为微软公司所有