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

Langage PHP Discussion :

[Tableaux] Traitement de fichier log


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 35
    Points
    35
    Par défaut [Tableaux] Traitement de fichier log
    Bonjour

    Je ne suis pas du tout developpeur php, je script en ksh, mais pour les besoins je dois faire une interface de visualisation des logs, centralisés sur un serveur unique par syslog. Les logs sont dans un repertoire unique, découpé en sous repertoire au nom des machines, contenant les logs.
    Les logs se presentent donc sous la forme :
    /logs
    - /machine 1
    - log1, log2, log3
    - /machine 2
    - log1,log5,log7
    - /machine 3
    - log2,log5,log9
    - etc ....... (pres de 400 repertoires)

    Il me faut donc :
    - avoir une visualisation totale des logs, en tail
    - avoir une visualisation par machine des logs, en tail
    - avoir une visualisation par log, en tail.
    Pour chacun, il faut que certains mots clefs soient surlignés (warning, critical, etc...) donc un traitement sur chacune des lignes
    ...........Pas simple !!!!!!!!

    Apres recherche de l'existant, j'en suis à ce script, qui me permet de definir le nombre de ligne à afficher (ici 100)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    $lines = file ('robots.txt');
    $dernieres_lignes = array_slice($lines, -100); // Extrait les 100 dernières lignes
    foreach ($dernieres_lignes as $line) {
    echo "$line<Br>";
    }
    ?>
    Et je bloque déjà, car il faut que les dernieres lignes s'affichent en 1er.
    Dans la faq de ce site sur le php, la fonction file permet de mettre les lignes dans un tableau. Mon probleme maintenant est de lire ce tableau "à l'envers", ou de le remplir à l'envers.

    Merci pour votre aide

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212
    Par défaut
    Deux solutions :
    1/ la plus simple : tu inverses ton tableau avant de le parcourir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $monTableauInverse = array_reverse ($montableau, true);
    2/ sinon faut pas utiliser foreach dans ce cas mais faire une boucle for:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $tabSize = count($montableau);
    for($i=$tabSize-1;$i>=0;$i--)
    {
    echo $montableau[$i];
    }

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 61
    Points : 35
    Points
    35
    Par défaut
    super ça fonctionne, merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Traitement d'un fichier log
    Par Beniti dans le forum Langage
    Réponses: 2
    Dernier message: 04/08/2011, 14h14
  2. [Log4j]Cherche visualiseur de fichiers logs de log4j
    Par RolandB dans le forum Logging
    Réponses: 9
    Dernier message: 18/03/2009, 15h11
  3. Fichier log des requêtes d'une bdd
    Par Sub0 dans le forum Administration
    Réponses: 4
    Dernier message: 22/03/2004, 14h12
  4. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30

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