syslog

(PHP 3, PHP 4 )

syslog -- Erzeugt eine Meldung im System-Logging

Beschreibung:

int syslog ( int priority, string message)

Die Funktion syslog() erzeugt eine Status-Meldung, die an die System-Log-Funktion weitergereicht wird. Der Parameter priority ist eine Kombination der System-Möglichkeiten und dem Level. Werte hierzu werden im nächsten Abschnitt genannt. Es verbleibt die zu sendende Nachricht, in der die beiden Zeichen %m durch den Fehlertext (strerror) ersetzt werden, der dem Wert errno entspricht.

Tabelle 1. syslog()-Prioritäten (in absteigender Reihenfolge)

KonstanteBeschreibung:
LOG_EMERGSystem ist unbrauchbar.
LOG_ALERTAktion ist sofort erforderlich.
LOG_CRITKritischer Zustand.
LOG_ERRFehler aufgetreten.
LOG_WARNINGWarnung aufgetreten.
LOG_NOTICENormale, aber wichtige, Meldung.
LOG_INFOInformative Meldung.
LOG_DEBUGDebug-Level-Meldung.

Beispiel 1. Die Verwendung von syslog():

<?php
define_syslog_variables();
// öffne SysLog, schließe die Prozess-ID (PID) ein, sende
// die Log-Meldungen an die Standard-Fehler-Ausgabe und benutze
// einen User-definierten 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 $REMOTE_ADDR ($HTTP_USER_AGENT)");
}

closelog();
?>
Weiter Informationen zum Benutzer-definierten Log-Handler finden Sie unter syslog.conf(5) der Unix-Manual-Seiten. Zusätzliche Informationen zu den SysLog-Möglichkeiten finden Sie in den Man-Pages zu syslog(3) (auf UNIX-Systemen).

Unter Windows-NT wird der Syslog-Dienst emuliert, indem der Ereignis-Protokollierdienst genutzt wird.

Siehe auch define_syslog_variables(), openlog() und closelog().