PrésentationZend_Log est un composant destiné à tous les usages du log. Il supporte l'écriture multiple centralisée, formate les messages envoyés vers les logs, et les filtre. Ces fonctions sont divisées en objets suivants :
Créer un logPour commencer à enregistrer, instanciez un rédacteur et passez le à une instance d'un enregistreur :
Alternativement, vous pouvez passer un rédacteur directement au constructeur de l'enregistreur :
Messages de logsPour enregistrer un message, appelez la méthode log() de l'instance de l'enregistreur et passez lui le message avec son niveau de priorité. $logger->log("Message d'information", Zend_Log::INFO); message et le deuxième paramètre est une priority fourni en
nombre entier. La priorité doit être l'une des priorités identifiées par l'instance de
l'enregistreur. Ceci est expliqué dans la prochaine section.
Un raccourci est également disponible. Au lieu d'appeler la méthode log(), vous pouvez appeler une méthode par le même nom que la priorité :
Détruire un logSi l'objet enregistreur n'est plus nécessaire, vous devez affectez la valeur NULL à la variable le contenant pour le détruire. Ceci appellera automatiquement la méthode shutdown() de chaque rédacteur avant que l'objet enregistreur ne soit détruit :
Utiliser les priorités intégréesLa classe de Zend_Log définit les priorités suivantes :
Les priorités ne sont pas arbitraires. Elles viennent du protocole BSD
Les numéros de priorité descendent par ordre d'importance. EMERG (0) est la priorité la plus importante. DEBUG (7) est la priorité la moins importante des priorités intégrées. Vous pouvez définir des priorités d'importance inférieure que DEBUG. En choisissant la priorité pour votre message de log, faîtes attention à cette hiérarchie prioritaire et choisissez convenablement. Ajouter ses propres prioritésDes priorités définies par l'utilisateur peuvent être ajoutées en cours d'exécution en utilisant la méthode de addPriority() de l'enregistreur :
8 . La nouvelle priorité est alors disponible pour l'enregistreur
:
Comprendre les événements de logs
Quand vous appelez la méthode log() ou l'un de ses raccourcis, un
événement de log est créé. C'est simplement un tableau associatif avec des données
décrivant l'événement qui est envoyé aux rédacteurs. Les clés suivantes sont toujours
créées dans ce tableau :
La création du tableau Pour ajouter un nouvel élément à chaque futur événement, appeler la méthode setEventItem() en donnant une clé et une valeur : $logger->setEventItem('pid', getmypid()); pid et lui
donne comme valeur le PID du processus courant. Une fois qu'un nouvel élément a été
placé, il est disponible automatiquement pour tous les rédacteurs avec toutes les autres
données d'événement pendant l'enregistrement. Un élément peut être surchargé à tout
moment en appelant une nouvelle fois la méthode setEventItem().
Le réglage d'un nouvel élément d'événement avec setEventItem() entraîne que le nouvel élément sera envoyé à tous les rédacteurs de l'enregistreur. Cependant, ceci ne garantit pas que les rédacteurs utilisent réellement l'élément. C'est parce que les rédacteurs ne sauront pas quoi faire avec lui à moins qu'un objet formateur soit informé du nouvel élément. Veuillez vous reporter à la section sur des formateurs pour en apprendre davantage.
|