2
0

Zend_Log-Writers-Syslog.xml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.log.writers.syslog">
  5. <title>In das Systemlog schreiben</title>
  6. <para>
  7. <classname>Zend_Log_Writer_Syslog</classname> schreibt Logeinträge in das Systemlog
  8. (syslog). Intern werden <acronym>PHP</acronym>'s <methodname>openlog()</methodname>,
  9. <methodname>closelog()</methodname>, und <methodname>syslog()</methodname> Funktionen
  10. aufgerufen.
  11. </para>
  12. <para>
  13. Ein nützlicher Fall für <classname>Zend_Log_Writer_Syslog</classname> ist das
  14. zusammenführen von Logs von geclusterted Maschinen über die Funktionalität vom Systemlog.
  15. Viele Systeme erlauben das entfernte Loggen von Systemevents, das es Systemadministratoren
  16. erlaubt einen Cluster von Maschinen von einer einzelnen Logdatei aus zu monitoren.
  17. </para>
  18. <para>
  19. Standardmäßig wird allen erzeugen Syslog Nachrichten der String "Zend_Log" vorangestellt.
  20. Man kann einen anderen "application" Namen spezifizieren durch den solche Logmeldungen
  21. identifiziert werden können, entweder durch die Angabe des Anwendungsnamens an den
  22. Constructor oder dem Accessor der Anwendung:
  23. </para>
  24. <programlisting language="php"><![CDATA[
  25. // Bei der Instanziierung den "application" Schlüssel in den Optionen übergeben:
  26. $writer = new Zend_Log_Writer_Syslog(array('application' => 'FooBar'));
  27. // Zu jeder anderen Zeit:
  28. $writer->setApplicationName('BarBaz');
  29. ]]></programlisting>
  30. <para>
  31. Das Systemlog erlaubt es auch die "facility", oder den Anwendungstyp zu identifizieren, der
  32. die Nachricht loggt; viele Systemlogger erzeugen in Wirklichkeit unterschiedliche
  33. Logdateien pro Facility, welche wiederum die Aktivitäten von Administratoren unterstützen
  34. die Server monitoren wollen.
  35. </para>
  36. <para>
  37. Man kann die Log Facility entweder über den Constructor oder über einen Accessor
  38. spezifizieren. Das sollte eine der <methodname>openlog()</methodname> Konstanten sein die
  39. in der <ulink url="http://php.net/openlog">openlog() Dokumentations Seite</ulink>
  40. definiert sind.
  41. </para>
  42. <programlisting language="php"><![CDATA[
  43. // Bei der Instanziierung den "facility" Schlüssel in den Optionen übergeben:
  44. $writer = new Zend_Log_Writer_Syslog(array('facility' => LOG_AUTH));
  45. // Zu jeder anderen Zeit:
  46. $writer->setFacility(LOG_USER);
  47. ]]></programlisting>
  48. <para>
  49. Beim Loggen kann man weiterhin die standardmäßigen <classname>Zend_Log</classname>
  50. Prioritäts Konstanten verwenden; intern entsprechen diese den Prioritäts Konstanten von
  51. <methodname>syslog()</methodname>.
  52. </para>
  53. </sect2>