# 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");

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 :

    $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");