Forum Programmation.shell Analyse de log/reprise

Posté par  .
Étiquettes : aucune
0
12
déc.
2006
Salut,

J'ai ecris un petit scrit pour analyser mes logs. Pas de soucis tout fonctionne. Par contre, je voudrais le "perfectionner" et faire en sorte de le lancer regulierement (ie toutes les x heures par exemple). Mais je voudrais eviter de reprendre le log depuis le debut. D'ou ma question ; y a t'il un moyen simple d'indiquer "un point" de reprise ? Je pensais d'abord compter le nombre de ligne et le stocker.. mais je ne trouve pas ca tres elegant.
Qqn aurait une idee ?
Merci
  • # Idée

    Posté par  (site web personnel) . Évalué à 2.

    Je ne vois pas d'idée simple autre que le nombre de lignes à part garder le fichier ouvert. Cela implique de laisser ton programme tourner et faire un sleep.

    Attention pour le nombre de lignes, il te faudra gérer les logrotate.

    Sinon tu peux regarder le source de logcheck pour savoir comment il s'y prend, il y a peut-etre de bonnes idées dedans.
    • [^] # Re: Idée

      Posté par  . Évalué à 2.

      Tu peux compter le nombre d'octets aussi, c'est une bonne alternative au nombre de lignes. Ou de mots mais c'est plus compliqué. Les syllabes aussi mais c'est chaud.

      Sinon si tu fais avec la date, tu peux lui dire de sauter toutes les lignes tant que tu n'as pas atteint la date de la fois d'avant, mais ça te fais quand même lire toutes les lignes.
      • [^] # Re: Idée

        Posté par  (site web personnel) . Évalué à 3.

        Note que compter le nombre d'octets te permet d'appeler la fonction seek et donc de ne pas avoir a tout lire pour compter les lignes.
      • [^] # Re: Idée

        Posté par  . Évalué à 1.

        Si je ne m'abuse, quand on compte le nombre de lignes, il faut aussi toutes les lire pour pouvoir les compter (par détéction du \n").

        Alors que l'on compte les lignes, ou que l'on travaille sur la date, il faut quand même tout lire...

        Il n'y a que la solution qui compte le nombre d'octets qui évite de tout lire en seekant le fichier.

        Pour ma part, j'ai quand même une préférence pour la date. Ca me parait de loin le plus fiable, notamment pour ne pas se planter lors des logrotate.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.