syslog

(PHP 3, PHP 4, PHP 5)

syslog -- Erzeugt eine Meldung im System-Logging

Beschreibung

bool 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. Das verbleibende Argument ist 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 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();
?>
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).

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

Anmerkung: Die Verwendung von LOG_LOCAL0 bis LOG_LOCAL7 für den Parameter facility von openlog() ist unter Windowssystemen nicht möglich.

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