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

119 lines
3.9 KiB
VB.net
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
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