syslog

(PHP 4, PHP 5, PHP 7, PHP 8)

syslogErzeugt eine Meldung für das System-Log

Beschreibung

syslog(int $priority, string $message): true

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.

Parameter-Liste

priority

Der Parameter priority ist eine Kombination der System-Möglichkeiten und dem Level. Mögliche Werte sind:

syslog()-Prioritäten (in absteigender Reihenfolge)
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.

Rückgabewerte

Gibt immer true zurück.

Beispiele

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();
?>

Anmerkungen

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

Hinweis:

Unter Windows können LOG_LOCAL0 bis LOG_LOCAL7 nicht für den Parameter facility von openlog() verwendet werden.

Siehe auch

  • openlog() - Stellt eine Verbindung zum Log-Dienst des Systems her
  • closelog() - Schließt die Verbindung zum System-Logger
  • INI-Einstellung syslog.filter (ab PHP 7.3)