Public Function splitLogMessage(ByVal theMessage As String, ByRef A_Received As String, ByRef B_Note As String, ByRef C_Category As String, ByRef D_Reason As String, ByRef E_SourceIP As String, ByRef F_SourceName As String, ByRef G_Destination As String, ByRef H_Options As String)
Dim lngFindString As Long, Fields As Variant, lngFields As Long
Dim subFields As Variant, lngSubFields As Long
Dim I_Result As String
' As at 22:41 22/11/2011
Fields = Split(theMessage, " - ")
lngFields = UBound(Fields)
A_Received = Fields(0)
B_Note = Fields(1)
C_Category = Fields(2)
D_Reason = Fields(3)
E_SourceIP = ""
F_SourceName = ""
G_Destination = ""
H_Options = ""
Fields(4) = Replace(Fields(4), " ", "")
lngFindString = InStr(Fields(4), "src:")
If lngFindString > 0 Then
Fields(4) = Replace(Fields(4), "src:", "")
Fields(4) = Replace(Fields(4), "dst:", "::")
subFields = Split(Fields(4), ":")
Else
subFields = Split(Fields(4), ",")
End If
lngSubFields = UBound(subFields)
E_SourceIP = subFields(0)
lngFindString = InStr(E_SourceIP, ",")
If lngFindString > 0 Then E_SourceIP = Left$(E_SourceIP, lngFindString - 1)
If lngSubFields = 3 Then F_SourceName = subFields(3)
If lngFields = 5 Then
G_Destination = subFields(3)
End If
If lngFields = 6 Then
G_Destination = Fields(5)
lngFindString = InStr(G_Destination, ",")
If lngFindString > 0 Then G_Destination = Left$(G_Destination, lngFindString - 1)
H_Options = Fields(6)
lngFindString = InStr(H_Options, ",")
If lngFindString > 0 Then H_Options = Left$(H_Options, lngFindString - 1)
End If
I_Result = theMessage & vbCrLf
I_Result = I_Result & vbCrLf & "Received: " & A_Received
I_Result = I_Result & vbCrLf & "Note: " & B_Note
I_Result = I_Result & vbCrLf & "Category: " & C_Category
I_Result = I_Result & vbCrLf & "Reason: " & D_Reason
I_Result = I_Result & vbCrLf & "Source IP: " & E_SourceIP
I_Result = I_Result & vbCrLf & "Source Name: " & F_SourceName
I_Result = I_Result & vbCrLf & "Destination: " & G_Destination
I_Result = I_Result & vbCrLf & "Options: " & H_Options
splitLogMessage = I_Result
End Function