Files

117 lines
4.9 KiB
VB.net
Raw Permalink Normal View History

2025-12-11 11:39:02 +08:00
Imports System.Threading
Imports Aliyun.Api.LOG
Imports Aliyun.Api.LOG.Common.Utilities
Imports Aliyun.Api.LOG.Data
Imports Aliyun.Api.LOG.Request
Imports Aliyun.Api.LOG.Response
Imports RCU_LogAgent_sqllite.LogParsing
Public Class LogService
'' <summary> 此处以深圳为例,其它地域请根据实际情况填写 </summary>
'Private _Endpoint As String
'' <summary> 阿里云访问密钥AccessKey </summary>
'Private _AccessKeyId As String
'' <summary> 阿里云访问密钥AccessKeySecret </summary>
'Private _AccessKeySecret As String
''' <summary> Project名称 </summary>
Private _Project As String
''' <summary> Logstore名称 </summary>
Private _Logstore As String
''' <summary> 主题 </summary>
Private _Topic As String
''' <summary> 日志服务Client </summary>
Private _Client As LogClient
Sub New(endpoint As String, accessKeyId As String, accessKeySecret As String, project As String, logstore As String, topic As String)
_Project = project
_Logstore = logstore
_Topic = topic
_Client = New LogClient(endpoint, accessKeyId, accessKeySecret)
_Client.ConnectionTimeout = _Client.ReadWriteTimeout = 10000
End Sub
Public Sub AddLogs(logItem As List(Of LogItem))
Dim putLogsReqError As PutLogsRequest = New PutLogsRequest()
putLogsReqError.Project = _Project
putLogsReqError.Topic = _Topic
putLogsReqError.Logstore = _Logstore
putLogsReqError.LogItems = logItem
'putLogsReqError.LogItems = New List(Of LogItem)
'putLogsReqError.LogItems.Add(logItem)
Dim putLogRespError As PutLogsResponse = _Client.PutLogs(putLogsReqError)
'Thread.Sleep(500)
End Sub
Public Function AddLogs(logItem As List(Of LogItem), flag As Boolean) As PutLogsResponse
Dim putLogsReqError As PutLogsRequest = New PutLogsRequest()
putLogsReqError.Project = _Project
putLogsReqError.Topic = _Topic
putLogsReqError.Logstore = _Logstore
putLogsReqError.LogItems = logItem
'putLogsReqError.LogItems = New List(Of LogItem)
'putLogsReqError.LogItems.Add(logItem)
Dim putLogRespError As PutLogsResponse = _Client.PutLogs(putLogsReqError)
Thread.Sleep(500)
Return putLogRespError
End Function
''' <summary>
''' 字符串显示 DateTime
''' </summary>
''' <param name="data_list"></param>
''' <returns></returns>
Public Function Parsing_DateTime(data_list As Log_DateStruct) As String
Dim temp_string As String
temp_string = $"20{data_list.year:00}-{data_list.month:00}-{data_list.day:00} {data_list.hour:00}:{data_list.minute:00}:{data_list.second:00}.{data_list.milliscond:000}"
'temp_string = $"{data_list.hour:00}:{data_list.minute:00}:{data_list.second:00}.{data_list.milliscond:000}"
Return temp_string
End Function
Public Function AddUdpLogItem(strMacAdd As String, logDataInfo As LogDataInfoStruct, parsing_data As List(Of String))
Dim DataTimes As String = Parsing_DateTime(logDataInfo.Log_DateTime)
Dim data_string = BitConverter.ToString(logDataInfo.Log_Content).Replace("-", " ")
Dim logItem As LogItem = New LogItem()
logItem.Time = DateUtils.TimeSpan()
logItem.PushBack("MAC".ToLower(), $"{strMacAdd}")
logItem.PushBack("CreateDateTime".ToLower(), $"{logDataInfo.CreateDateTime}")
logItem.PushBack("LogFileName".ToLower(), $"{logDataInfo.LogFileName}")
logItem.PushBack("LogProjectid".ToLower(), $"{logDataInfo.HotelId}")
logItem.PushBack("LogRoomid".ToLower(), $"{logDataInfo.RoomId}")
logItem.PushBack("Log_Valid".ToLower(), $"{logDataInfo.Log_Valid}")
logItem.PushBack("Log_SN".ToLower(), $"{logDataInfo.Log_SN}")
logItem.PushBack("Log_Len".ToLower(), $"{logDataInfo.Log_Len}")
logItem.PushBack("Log_DateTime".ToLower(), $"{DataTimes}")
logItem.PushBack("Log_TimeSpan".ToLower(), $"{logDataInfo.Log_TimeSpan}")
logItem.PushBack("Log_Type".ToLower(), $"{logDataInfo.Log_Type}")
logItem.PushBack("Log_Content".ToLower(), $"{data_string}")
logItem.PushBack("Type_Param_1".ToLower(), $"{parsing_data(0)}")
logItem.PushBack("Type_Param_2".ToLower(), $"{parsing_data(1)}")
logItem.PushBack("Type_Param_3".ToLower(), $"{parsing_data(2)}")
logItem.PushBack("Type_Param_4".ToLower(), $"{parsing_data(3)}")
logItem.PushBack("Type_Param_5".ToLower(), $"{parsing_data(4)}")
logItem.PushBack("Type_Param_6".ToLower(), $"{parsing_data(5)}")
logItem.PushBack("Type_Param_7".ToLower(), $"{parsing_data(6)}")
logItem.PushBack("Type_Param_8".ToLower(), $"{parsing_data(7)}")
logItem.PushBack("Type_Param_9".ToLower(), $"{parsing_data(8)}")
logItem.PushBack("Type_Param_10".ToLower(), $"{parsing_data(9)}")
logItem.PushBack("Remark".ToLower(), " ")
Return logItem
End Function
End Class