Formateurs (mise en forme)

Filtres

Un objet Filter bloque les messages avant l'écriture dans le log.

Filtrer pour tous les rédacteurs (Writers)

Pour filtrer avant tous les rédacteurs, vous pouvez ajouter autant de filtres que vous souhaitez à l'objet enregistreur en utilisant la méthode addFilter() :

  1. $logger = new Zend_Log();
  2.  
  3. $redacteur = new Zend_Log_Writer_Stream('php://output');
  4. $logger->addWriter($redacteur);
  5.  
  6. $filtre = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
  7. $logger->addFilter($filtre);
  8.  
  9. // bloqué
  10. $logger->info("Message d'information");
  11.  
  12. // écrit dans le log
  13. $logger->emerg("Message d'urgence");
Quand vous ajoutez un ou plusieurs filtres à l'objet enregistreur, le message doit passer par tous les filtres avant que tous les rédacteurs le reçoive.

Filtrer pour une seule instance de rédacteur

Pour filtrer seulement sur un instance spécifique de rédacteur, employer la méthode addFilter de ce rédacteur :

  1. $logger = new Zend_Log();
  2.  
  3. $redacteur1 =
  4.     new Zend_Log_Writer_Stream('/chemin/vers/premier/fichierdelog');
  5. $logger->addWriter($redacteur1);
  6.  
  7. $redacteur2 =
  8.     new Zend_Log_Writer_Stream('/chemin/vers/second/fichierdelog');
  9. $logger->addWriter($redacteur2);
  10.  
  11. // ajoute le filter seulement pour le redacteur2
  12. $filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
  13. $redacteur2->addFilter($filter);
  14.  
  15. // écrit par le redacteur1, bloqué par le redacteur2
  16. $logger->info("Message d'information");
  17.  
  18. // écrit dans les 2 logs
  19. $logger->emerg("Message d'urgence");


Formateurs (mise en forme)