|
|
@@ -0,0 +1,63 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8"?>
|
|
|
+<!-- EN-Revision: 16589 -->
|
|
|
+<!-- 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->setApplication('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>
|