[VB.NET] Analyse d'un fichier log

Fermé
Orci76 Messages postés 92 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 21 avril 2015 - Modifié par Orci76 le 17/07/2012 à 15:52
Orci76 Messages postés 92 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 21 avril 2015 - 22 juil. 2012 à 23:05
Bonjour,

Voilà, j'aurais besoin d'aide dans un programme d'analyse de fichier log.
Pour commencer, il me faut lire la dernière ligne de ce fichier, voici la méthode que j'ai utilisée (qui je suppose, n'est que peu optimisé):

Private Sub MainTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MainTimer.Tick
    Dim LastLine As String
    Dim SR As New StreamReader(FilePath)
    While SR.Peek <> -1
        LastLine = SR.ReadLine()
    End While

    If LastLine.Contains("trigger") Then
        Blink()
    End If
End Sub

Grossomodo, le fichier est scanné non stop et lorsque la dernière ligne contient un mot déclencheur, la fonction Blink() est appelée.

Jusque là, pas de problème, cependant, lorsque mon programme lis en continue le fichier, le jeu n'arrive plus à écrire dans le fichier log!
Mon MainTimer est actuellement à 50ms de delay, je ne peux cependant pas changer ce temps étant donné que j'ai moins de 1s pour détecter l'action et que même durant ce cours laps de temps, il pourrait y avoir 2 lignes et donc pourquoi pas, cacher le mot déclencheur...

Le fichier fait entre 1 et 5000 ligne (ce pourrait être plus mais c'est tout de même peu probable), j'ai songé à le vider, mais cela ne changerait pas grand, le jeu n'arrivant déjà pas à écrire dans mon fichier logs sans cela...

Je viens donc vers vous pour vous demander s'il y a possibilité de scanner un fichier log en temps réel sans "bloquer" le programme écrivant le fichier dont il est question.

Merci d'avoir pris le temps de me lire :).

A voir également:

1 réponse

Orci76 Messages postés 92 Date d'inscription lundi 20 décembre 2010 Statut Membre Dernière intervention 21 avril 2015 5
22 juil. 2012 à 23:05
Up.
Si ma question manque de précision, n'hésitez pas à me le dire, merci.
0