I use a Message display by value, and write the message display to a text file I called "alarm log" in my project folder. I then delete anything more than 10 days old.
Private Sub MessageDisplayByValueX1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MessageDisplayByValueX1.TextChanged
'WRITES TIME AND DATE AND MESSAGE TO TEXTFILE DataMMDDYYYY.txt AND CLOSES WRITER
If MessageDisplayByValueX1.Text <> "" Then
Dim sw As New System.IO.StreamWriter("C:\Documents and Settings\User\Desktop\PROJECTS\project\AlarmLog" & "\ALARM" & Format(Now(), "MMddyyyy") & ".txt", True)
sw.WriteLine(DateString & " " & TimeOfDay & " " & MessageDisplayByValueX1.Text)
sw.Close()
End If
End Sub
Private Sub AlarmDisplay_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles MessageDisplayByValueX1.TextChanged,
MessageDisplayByValueX2.TextChanged, MessageDisplayByValueX3.TextChanged
'DELETES FILES IN FOLDER MORE THAN intdays OLD
Dim filepath As String
Dim intdays As Int16
filepath = "C:\Documents and Settings\User\Desktop\PROJECTS\project\AlarmLog"
intdays = 10
For Each file As IO.FileInfo In New IO.DirectoryInfo(filepath).GetFiles("*.txt")
If (Now - file.CreationTime).Days >= intdays Then file.Delete()
Next
End Sub
Once you get it there, you can call it back up however you want to. I created another screen where I select the file I want to open, then read the file.