Forum Programmation.perl Apache::ParseLog Et le parsing de log apache

Posté par  (site web personnel) .
Étiquettes :
0
13
fév.
2006
Hello vous tous :)

voila bon je sais ca doit être la 120 ième question du genre,
mais j'ai des souci avec le module Apache::ParseLog ( http://search.cpan.org/~akira/Apache-ParseLog-1.02/ParseLog.(...) )

je cherche à récupérer les log des fichier pour les stoké dans une BD.

j'ai donc installer le module avec perl MakeFile.pl
make
make test
et sudo make install

jusque là, pas de pbm.

ensuite je prend un de leur exemple que je test.
et paf ca marche pas
$transferlog = $base->getTransferLog(); ne me renvoi rien, donc impossible de récuperer les logs...

quelqu'un aurait-il un moyen de le faire fonctionner , des exemples, ou un autre moyen "simple" de parser les logs pour les mettre dans la bd.....

ps : je suis sous une debian stable.....


Merci beaucoup
  • # Pas facile comme ca

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

    Tu pourrais donner plus de code ?
    $conf pointe bien vers le bon fichier de conf ?
    Tu as bien TransferLog dans ce fichier de conf ? Après avoir lu les exemples je pense que $base->getCustomLog doit servir à plus de gens que $base->getTransferLog.
    • [^] # Re: Pas facile comme ca

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

      Wep, je sais j'ai pas donner bcp d'info ... en voila :)

      dans le httpd.conf :
      -----
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %T %v" full
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
      CustomLog /var/log/apache/access.log combined


      mon code :
      ----------------

      #!/usr/bin/perl
      use Apache::ParseLog;

      $conf = "/etc/apache/httpd.conf";
      $base = new Apache::ParseLog($conf);
      $base->config([%fields]);
      $tr=$base->getCustomLog("combined");
      if($tr==0)
      {
      print "null";
      exit;
      }
      %hit = $tr->hitbydate();
      foreach (sort keys %hit) {
      print "$_:\t$hitbydate{$_}\n"; # <date>: <hit counts>
      }
      exit;

Suivre le flux des commentaires

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