Programmer's Reference Guide
| 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() :
- $logger = new Zend_Log();
- $redacteur = new Zend_Log_Writer_Stream('php://output');
- $logger->addWriter($redacteur);
- $filtre = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
- $logger->addFilter($filtre);
- // bloqué
- $logger->info("Message d'information");
- // écrit dans le log
- $logger->emerg("Message d'urgence");
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 :
- $logger = new Zend_Log();
- $redacteur1 =
- new Zend_Log_Writer_Stream('/chemin/vers/premier/fichierdelog');
- $logger->addWriter($redacteur1);
- $redacteur2 =
- new Zend_Log_Writer_Stream('/chemin/vers/second/fichierdelog');
- $logger->addWriter($redacteur2);
- // ajoute le filter seulement pour le redacteur2
- $filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
- $redacteur2->addFilter($filter);
- // écrit par le redacteur1, bloqué par le redacteur2
- $logger->info("Message d'information");
- // écrit dans les 2 logs
- $logger->emerg("Message d'urgence");
| Formateurs (mise en forme) |
Add A Comment
Please do not report issues via comments; use the ZF Issue Tracker.
If you have a JIRA/Crowd account, we suggest you login first before commenting.

Comments
$filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
should be
$filter = new Zend_Log_Filter_Priority(Zend_Log::EMERG);
when used with
$logger->emerg('Emergency Message');
------ also -------
"A Filter object blocks a message from being written to the log."
This was missleading for me as I found it to do the opposite of this.
Would it make more sense if it read:
"When filters are used only filtered priorities will be written to the log."
public function __construct($priority, $operator = NULL)
You can set your own comparison operator, by default its <=
version_compare php function is used to check if log entry passes the comparison and goes to certain writer/s