Ciao a tutti,
vengo al punto: Sto creando un piccolo tool in VB per monitorare una applicazione, in sostanza semplicemente prendo in input un file di log (formato testo) e lo carico in listbox e fino a qui tutto ok! ora ho implementato una funzione che controlla le righe della listbox e quando trova il messaggio di errore mi manda un alert per mail. Qui viene il problema allora per capire meglio vi posto la stringa di errore che dovrebbe leggere:
Ora riesco a farlo funzionare se gli faccio prendere solo una parte della stringa così:29/04/2014 17:12:05 ERROR (IMATweetGeneratorBean.java:253) - Error tweeting ae539b72-0f3d-4fe1-8789-a38d656f4118-6
Quindi vede ERROR e manda la mail.. il problema è che il file di testo scorre e aggiorna continuamente la listbox e (fatto tramite timer) e mi invierebbe anche gli alert vecchi! dovrei in sostanza filtrare instr anche per data ma non funziona ad esempio ho provato così:codice:Public Sub TwitterFind() Dim MatchFound As Boolean = False Dim I As Integer = 0 Me.ListBox1.Refresh() Do If InStr(Me.ListBox1.Items(I).ToString, "ERROR", CompareMethod.Text) > 0 Then MatchFound = True Me.ListBox1.SelectedIndex = I End If I += 1 Loop Until (I >= Me.ListBox1.Items.Count) ' Or (MatchFound) 'controlla se esiste la stringa ricercata allora manda messaggio altrimenti nada If MatchFound = True Then Call SendEmail() Else MsgBox("non ce nada", MsgBoxStyle.Information, Title:="Nagios Control Center") End If End Sub
Ossia cercami la data odiera più la stringa.... ma c'è di mezzo l'orario!!! che credo dia problemi non posso filtrare per orario perchè ovviamente non so quando di preciso arriva l'errore.... come potrei risolvere?codice:If InStr(Me.ListBox1.Items(I).ToString, Date.Today & " ERROR", CompareMethod.Text) > 0 Then
grazie in anticipo

Rispondi quotando