array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'de', ), 'this' => array ( 0 => 'function.syslog.php', 1 => 'syslog', ), 'up' => array ( 0 => 'ref.network.php', 1 => 'Netzwerk-Funktionen', ), 'prev' => array ( 0 => 'function.socket-set-timeout.php', 1 => 'socket_set_timeout', ), 'next' => array ( 0 => 'book.rrd.php', 1 => 'RRD', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'de', 'path' => 'reference/network/functions/syslog.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4, PHP 5, PHP 7, PHP 8)
syslog — Erzeugt eine Meldung für das System-Log
Die Funktion syslog() erzeugt eine Log-Meldung, die über das System-Log ausgegeben wird.
Weitere Informationen zum benutzerdefinierten Loghandler sind unter syslog.conf (5) der Unix-Manpages zu finden. Zusätzliche Informationen zu den SysLog-Möglichkeiten und -Optionen sind in den Manpages zu syslog (3) (auf UNIX-Systemen) zu finden.
priority
Der Parameter priority
ist eine Kombination der
System-Möglichkeiten und dem Level. Mögliche Werte sind:
Konstante | Beschreibung |
---|---|
LOG_EMERG |
System ist unbrauchbar |
LOG_ALERT |
Sofortige Maßnahmen sind erforderlich |
LOG_CRIT |
Kritischer Zustand |
LOG_ERR |
Fehler aufgetreten |
LOG_WARNING |
Warnung aufgetreten |
LOG_NOTICE |
Normale, aber wichtige Meldung |
LOG_INFO |
Informative Meldung |
LOG_DEBUG |
Debug-Level-Meldung |
message
Die zu sendende Nachricht.
Gibt immer true
zurück.
Beispiel #1 Die Verwendung von syslog()
<?php
// öffne SysLog, schließe die Prozess-ID (PID) ein, sende
// die Log-Meldungen an die Standard-Fehler-Ausgabe und benutze
// einen benutzerdefinierten Log-Mechanismus.
openlog("myScripLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);
// etwas Code
if (authorized_client()) {
// mache etwas
} else {
// unerlaubter Client!
// logge den Zugriff
$access = date("Y/m/d H:i:s");
syslog(LOG_WARNING,"Unautorisierter Client: $access "
. "{$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}
closelog();
?>
Unter Windows wird der Syslog-Dienst emuliert, indem der Ereignis-Protokolldienst genutzt wird.
Hinweis:
Unter Windows können
LOG_LOCAL0
bisLOG_LOCAL7
nicht für den Parameterfacility
von openlog() verwendet werden.