| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?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>
|