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

Autres composants PHP Discussion :

Utilisation de Zend_Log


Sujet :

Autres composants PHP

  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut Utilisation de Zend_Log
    Salut,

    mon sujet de discutions à 2 phases
    phase 1 : SVP si qlq peut m'orienter vers des bon tuto qui expliquer bien zend_log avec des exmples
    phase 2 : dans mon application je veut enregistrer dans une table de ma base de données qlq information de log (IP du visiteur, le temps de la visité, les action visité), est ce qui c'est possible si oui qui sont les étapes à suivre.

    NB: je sais que mes question sont générale dans zend_log car c'est ma première confrontation avec zend_log

    SVP SI vous pouvait me filer un coup de main. ce serait sympa de votre part

    Merci beaucoup .

  2. #2
    Membre chevronné

    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2003
    Messages
    253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Février 2003
    Messages : 253
    Par défaut
    La documentation fourni de nombreux exemples et est relativement claire, je pense que comme base d'apprentissage on trouve difficilement mieux :

    http://framework.zend.com/manual/en/zend.log.html

    Et sinon, oui c'est possible de spécifier des données supplémentaires, voilà comment je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $log_writer = new Zend_Log_Writer_Db($db, 'logs',
    	array(
    		'priorite' => 'priority',
    		'nom_priorite' => 'priorityName',
    		'message' => 'message',
    		'ip_visiteur' => 'ip_visiteur',
    		'time' => 'timestamp'
    	)
    );
     
    $log = new Zend_Log($log_writer);        
    // On log l'ip pour chaque évènement
    $log->setEventItem('ip_visiteur', $_SERVER['REMOTE_ADDR']);
    La démarche est assez logique, on instancie un "writer" qui spécifie quel type de logs on veut (fichier texte, bdd...), on lui passe une instance de Zend_Db_Adapter, le nom de la table et un tableau optionnel de "mapping" pour faire correspondre le nom des données de logs avec ceux de la table de logs.

    On instancie un objet Zend_Log ensuite et on utilise setEventItem pour définir la valeur d'ip_visiteur, à savoir ici... L'ip du visiteur.

    J'espère que ça aidera.

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut
    Merci beaucoup Nighty pour ton aide, j'ai réussi à faire enregistrer mes informations (ip,action,controller) toute en utilisant ton code dans un plugin et l'enregistrer dans un registre et le faire appelle dans tous mes controlleurs

    Merci Nighty

  4. #4
    Membre actif
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Par défaut
    Bonjour,

    J'en profite pour poser ma question sur Zend_Log. J'ai compris les exemples (simplistes) de la doc,

    mais admettons que je veuille faire un fichier de log avec un traitement spécifique un plus élaboré. Imaginons que je veuille par exemple afficher un message d'alerte si je dépasse les 10.000 enregistrement dans ma base utilisateurs.

    Est-ce que c'est possible et est-ce que cela marche comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    public function detection_ base {
     
    //mon code qui vérifie si la base est pleine et qui renvoie une valeur booléenne
     
    si true alors  $journal -> info ('alerte la base utilisateurs a atteint 10000 utilisateurs', Zend_Log::INFO);
     
    }
    Pour être plus clair, je veux savoir comment faire pour que soit associer un message d'information avec un niveau de criticité à un traitement spécifique

    Merci d'avance

  5. #5
    Membre Expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 47

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Par défaut
    Bonjour,

    Il ne faut pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $journal -> info ('alerte la base utilisateurs a atteint 10000 utilisateurs', Zend_Log::INFO);
    Mais soit :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $journal -> log ('alerte la base utilisateurs a atteint 10000 utilisateurs', Zend_Log::INFO);

    soit :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $journal -> info ('alerte la base utilisateurs a atteint 10000 utilisateurs');

    ces deux instructions étant équivalentes.

    Mis à part cette remarque, le pseudo-code proposé est correct, mais je n'ai pas bien compris la question

  6. #6
    Membre actif
    Inscrit en
    Mai 2007
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 47
    Par défaut
    Citation Envoyé par Eusebe Voir le message
    Bonjour,

    Il ne faut pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $journal -> info ('alerte la base utilisateurs a atteint 10000 utilisateurs', Zend_Log::INFO);
    Mais soit :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $journal -> log ('alerte la base utilisateurs a atteint 10000 utilisateurs', Zend_Log::INFO);

    soit :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    $journal -> info ('alerte la base utilisateurs a atteint 10000 utilisateurs');

    ces deux instructions étant équivalentes.

    Mis à part cette remarque, le pseudo-code proposé est correct, mais je n'ai pas bien compris la question
    Merci pour tes explications

    Ma question c'était comment enregistrer dans les logs un évènement particulier un peu plus complexe qu'une adresse ip ou le navigateur web du client (bref, un traitement qui ne s'enregistrerait pas avec setEventItem) en lui affectant un niveau de criticité précis (debug, info, etc.). Je suis plus clair ?

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2008
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 57
    Par défaut des explications sur Zend_log
    salut,

    je veut ouvrir un sujet de discutions générale sur zend_log sous forme d'un ensemble de question:

    *comment généré les fichiers log sous une application réaliser avec zend?
    *qu'il est le contenu générale d'un fichier log généré par zend?
    *comment faire pour unir les fichiers logs généré par plusieurs serveurs dans un seul log ?

    j'espère que tous les personnes qu'on un package dans les fichiers logs donne leurs point de vue, et pour les personnes qu'on d'autres questions peuvent les ajouter, pour faciliter le compréhension de zend_log et des fichiers logs au prochaine utilisateurs

    et merci pour votre collaboration
    cordialement

Discussions similaires

  1. Utilisation et test de zend_log
    Par chacalbobo dans le forum Zend Framework
    Réponses: 6
    Dernier message: 25/09/2010, 04h00
  2. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

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