(PHP 4, PHP 5, PHP 7)
syslog — Erzeugt eine Meldung im System-Logging
$priority
, string $message
)Die Funktion syslog() erzeugt eine Status-Meldung, die an die System-Log-Funktion weitergereicht wird.
Weitere Informationen zum benutzerdefinierten Loghandler finden Sie unter syslog.conf (5) der Unix-Manpages. Zusätzliche Informationen zu den SysLog-Möglichkeiten und -Optionen finden Sie in den Manpages zu syslog (3) (auf UNIX-Systemen).
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 |
Aktion ist sofort 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, in der die beiden Zeichen %m durch den Fehlertext (strerror) ersetzt werden, der dem Wert errno entspricht.
Gibt bei Erfolg TRUE
zurück. Im Fehlerfall wird FALSE
zurückgegeben.
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 userdefinierten 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,"Unauthorisierter Client: $access "
. "{$_SERVER['REMOTE_ADDR']} ({$_SERVER['HTTP_USER_AGENT']})");
}
closelog();
?>
Unter Windows-NT wird der Syslog-Dienst emuliert, indem der Ereignis-Protokolldienst genutzt wird.
Hinweis:
Die Verwendung von LOG_LOCAL0 bis LOG_LOCAL7 für den Parameter
facility
von openlog() ist unter Windowssystemen nicht möglich.