119 lines
3.9 KiB
VB.net
119 lines
3.9 KiB
VB.net
Imports System.Text
|
||
|
||
Namespace DebugLog
|
||
Public Class DebugPrintClass
|
||
Enum DebugPrintType
|
||
System
|
||
Comport
|
||
Database
|
||
NetWork
|
||
Ftp
|
||
End Enum
|
||
|
||
''' <summary>
|
||
''' 显示所有数据,优先度最高
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowAllData() As Boolean = True
|
||
|
||
''' <summary>
|
||
''' 是否显示系统信息
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowSystemData() As Byte = 1
|
||
|
||
''' <summary>
|
||
''' 是否显示串口信息
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowComportData() As Byte = 1
|
||
|
||
''' <summary>
|
||
''' 是否显示数据库信息
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowDatabaseData() As Byte = 1
|
||
|
||
''' <summary>
|
||
''' 是否显示网络信息
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowNetWorkData() As Byte = 1
|
||
|
||
''' <summary>
|
||
''' 是否显示Ftp信息
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowFtpData() As Byte = 1
|
||
|
||
''' <summary>
|
||
''' 显示信息的集合,对应数据位为1则打印,为0不打印
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowDataType() As Integer = ShowSystemData >> DebugPrintType.System Or
|
||
ShowComportData >> DebugPrintType.Comport Or
|
||
ShowDatabaseData >> DebugPrintType.Database Or
|
||
ShowNetWorkData >> DebugPrintType.NetWork Or
|
||
ShowFtpData >> DebugPrintType.Ftp
|
||
|
||
|
||
''' <summary>
|
||
''' 是否添加时间前缀
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowTime() As Boolean = True
|
||
|
||
''' <summary>
|
||
''' 是否显示与上包显示的间隔
|
||
''' </summary>
|
||
''' <returns></returns>
|
||
Public Shared Property ShowTimeSpan() As Boolean = True
|
||
|
||
|
||
Private Shared _lastShowTime As DateTime = Now
|
||
|
||
Private Shared _timeSpan As TimeSpan
|
||
|
||
''' <summary>
|
||
''' 打印调试信息
|
||
''' </summary>
|
||
''' <param name="printString">需要打印的信息</param>
|
||
Private Shared Sub DebugPrint(printString As String)
|
||
Console.WriteLine(printString)
|
||
End Sub
|
||
|
||
|
||
''' <summary>
|
||
''' 打印调试信息
|
||
''' </summary>
|
||
''' <param name="type">打印信息类型</param>
|
||
''' <param name="printString">需要打印的信息</param>
|
||
Public Shared Sub DebugPrint(type As DebugPrintType, printString As String)
|
||
If ShowAllData = False Then Return
|
||
If ((ShowDataType >> type) And 1) = 0 Then Return
|
||
|
||
_timeSpan = Now - _lastShowTime
|
||
_lastShowTime = Now
|
||
|
||
Dim msgBuilder As New StringBuilder
|
||
If ShowTime Then msgBuilder.Append($"{Now:yyyy-MM-dd HH:mm:ss} - ")
|
||
If ShowTimeSpan Then msgBuilder.Append($"{_timeSpan.TotalMilliseconds,8} - ")
|
||
msgBuilder.Append($"{type} - ")
|
||
msgBuilder.Append($"{printString}")
|
||
|
||
DebugPrint(msgBuilder.ToString())
|
||
End Sub
|
||
|
||
|
||
''' <summary>
|
||
''' 打印调试信息
|
||
''' </summary>
|
||
''' <param name="type">打印信息类型</param>
|
||
''' <param name="tip">需要打印信息的提示前缀</param>
|
||
''' <param name="printString">需要打印的信息</param>
|
||
Public Shared Sub DebugPrint(type As DebugPrintType, tip As String, printString As String)
|
||
DebugPrint(type, $"{tip}:{printString}")
|
||
End Sub
|
||
|
||
End Class
|
||
End Namespace |