<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect2 id="zend.log.writers.syslog">
    <title>In das Systemlog schreiben</title>

    <para>
        <classname>Zend_Log_Writer_Syslog</classname> schreibt Logeinträge in das Systemlog
        (syslog). Intern werden <acronym>PHP</acronym>'s <methodname>openlog()</methodname>,
        <methodname>closelog()</methodname>, und <methodname>syslog()</methodname> Funktionen
        aufgerufen.
    </para>

    <para>
        Ein nützlicher Fall für <classname>Zend_Log_Writer_Syslog</classname> ist das
        zusammenführen von Logs von geclusterted Maschinen über die Funktionalität vom Systemlog.
        Viele Systeme erlauben das entfernte Loggen von Systemevents, das es Systemadministratoren
        erlaubt einen Cluster von Maschinen von einer einzelnen Logdatei aus zu monitoren.
    </para>

    <para>
        Standardmäßig wird allen erzeugen Syslog Nachrichten der String "Zend_Log" vorangestellt.
        Man kann einen anderen "application" Namen spezifizieren durch den solche Logmeldungen
        identifiziert werden können, entweder durch die Angabe des Anwendungsnamens an den
        Constructor oder dem Accessor der Anwendung:
    </para>

    <programlisting language="php"><![CDATA[
// Bei der Instanziierung den "application" Schlüssel in den Optionen übergeben:
$writer = new Zend_Log_Writer_Syslog(array('application' => 'FooBar'));

// Zu jeder anderen Zeit:
$writer->setApplicationName('BarBaz');
]]></programlisting>

    <para>
        Das Systemlog erlaubt es auch die "facility", oder den Anwendungstyp zu identifizieren, der
        die Nachricht loggt; viele Systemlogger erzeugen in Wirklichkeit unterschiedliche
        Logdateien pro Facility, welche wiederum die Aktivitäten von Administratoren unterstützen
        die Server monitoren wollen.
    </para>

    <para>
        Man kann die Log Facility entweder über den Constructor oder über einen Accessor
        spezifizieren. Das sollte eine der <methodname>openlog()</methodname> Konstanten sein die
        in der <ulink url="http://php.net/openlog">openlog() Dokumentations Seite</ulink>
        definiert sind.
    </para>

    <programlisting language="php"><![CDATA[
// Bei der Instanziierung den "facility" Schlüssel in den Optionen übergeben:
$writer = new Zend_Log_Writer_Syslog(array('facility' => LOG_AUTH));

// Zu jeder anderen Zeit:
$writer->setFacility(LOG_USER);
]]></programlisting>

    <para>
        Beim Loggen kann man weiterhin die standardmäßigen <classname>Zend_Log</classname>
        Prioritäts Konstanten verwenden; intern entsprechen diese den Prioritäts Konstanten von
        <methodname>syslog()</methodname>.
    </para>
</sect2>
