<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.log.filters">
    <title>Filter</title>

    <para>
        Ein Filter Objekt blockiert eine Nachricht damit diese nicht in das Log geschrieben wird.
    </para>

    <sect2 id="zend.log.filters.all-writers">
        <title>Filter für alle Writer</title>

        <para>
            Um vor allen Writern zu filtern, kann eine beliebige Anzahl von Filtern zu einem Log
            Objekt hinzugefügt werden indem die <methodname>addFilter()</methodname> Methode
            verwendet wird:
        </para>

        <programlisting language="php"><![CDATA[
$logger = new Zend_Log();

$writer = new Zend_Log_Writer_Stream('php://output');
$logger->addWriter($writer);

$filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
$logger->addFilter($filter);

// Blockiert
$logger->info('Informative Nachricht');

// Gelogged
$logger->emerg('Notfall Nachricht');
]]></programlisting>

        <para>
            Wenn ein oder mehrere Filter zu einem Log Objekt hinzugefügt werden, muß die Nachricht
            durch alle Filter hindurch bevor irgendein Filter sie empfängt.
        </para>
    </sect2>

    <sect2 id="zend.log.filters.single-writer">
        <title>Filtern für eine Writer Instanz</title>

        <para>
            Um nur auf eine definierte Writer Instanz zu filtern, muß die
            <methodname>addFilter()</methodname> Methode dieses Writer's verwendet werden:
        </para>

        <programlisting language="php"><![CDATA[
$logger = new Zend_Log();

$writer1 = new Zend_Log_Writer_Stream('/path/to/first/logfile');
$logger->addWriter($writer1);

$writer2 = new Zend_Log_Writer_Stream('/path/to/second/logfile');
$logger->addWriter($writer2);

// Einen Filter nur zu Writer2 hinzufügen
$filter = new Zend_Log_Filter_Priority(Zend_Log::CRIT);
$writer2->addFilter($filter);

// Geloggt von Writer1, Blockiert von Writer2
$logger->info('Informative Nachricht');

// Geloggt von beiden Writern
$logger->emerg('Notfall Nachricht');
]]></programlisting>
    </sect2>
</sect1>
