This repository has been archived on 2025-11-27. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AUTS_OLD/UTS_Core/DebugLog/DebugPrint.vb

119 lines
3.9 KiB
VB.net
Raw Normal View History

2024-03-11 16:32:52 +08:00
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