IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Analyse d'un fichier log


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2010
    Messages : 46
    Par défaut Analyse d'un fichier log
    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é):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    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 .

  2. #2
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2010
    Messages : 46
    Par défaut
    Bonjour,
    Personne ne saurait d'où vient mon problème s'il vous plait?
    Ai-je été trop flou dans ma question?
    Merci d'avance.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    SR.close peut-être

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    j'essayerais peut-être une autre façon ...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub MainTimer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MainTimer.Tick
            Dim MaLigne() As String = File.ReadAllLines("C:\...\monfichier.log")
            If MaLigne(Cint(MaLigne.Count)-1).Contains("tiggers") Then
                Blink()
            End If
        End Sub
    je crois que ça pourait ressembler à ça

  5. #5
    Membre expérimenté Avatar de AcidLines
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2010
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Février 2010
    Messages : 198
    Par défaut
    Je pense qu'à partir du moment où tu ouvre ton logs, vu que le fichier est utilisé par ton programme, il ne peut plus être en écriture par ton jeu.

    Il serait peut être mieux, afin d’éviter les conflit lecture/écriture entre les 2 de faire une copie temporaire du dis fichier qui servirait alors à l'analyse.

    Copie du fichier > Analyse du fichier temporaire > action si besoin > fermeture.

    Et tu recréer une copie du fichier pour la prochaine analyse.

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    505
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 505
    Par défaut
    ça se ferais-tu ...faire un fichier de gestion d'écriture genre...?
    'si le fichier log est ouvert "Then" écrire dans un arraylist
    'quand le fichier log se libère on vide l'Arraylist

    Je soumet l'idée comme ça

  7. #7
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juillet 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juillet 2010
    Messages : 46
    Par défaut
    Bonjour,

    Tout d'abord, merci à tout deux de vos réponses.
    J'ai tester de modifier mon programme avec le bout de code que tu m'as donné, j'ai bien l'impression que ça fonctionne, je ne suis pas sur de bien tout avoir mais c'est déjà mieux, je vais vérifier cela.
    Dans le cas contraire, je testerais cette idée de copie, à vrai dire, je pensais au début que le fait de copier le fichier (pouvant être de taille importante) le mettrais aussi en écriture ce qui provoquerait le même problème.
    Mario Rousson, je n'ai cependant pas très bien compris la dernière de tes propositions?

    Merci encore à vous deux

Discussions similaires

  1. Analyse d'un fichier log
    Par aurelien13008 dans le forum Langage
    Réponses: 6
    Dernier message: 16/06/2010, 14h06
  2. Perl analyse de fichiers-logs
    Par finelady dans le forum Langage
    Réponses: 4
    Dernier message: 18/03/2008, 17h31
  3. Des logiciels pour l'analyse des fichiers log
    Par maya dans le forum Réseau
    Réponses: 3
    Dernier message: 14/04/2007, 22h27
  4. [Oracle 8i/Fichier de log] - fichier log pour analyse erreur
    Par shaun_the_sheep dans le forum Oracle
    Réponses: 4
    Dernier message: 25/01/2005, 19h06
  5. Programme qui analyse un fichier log
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 20/08/2004, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo