openlog

(PHP 4, PHP 5)

openlogStellt eine Verbindung zum Log-Dienst des Systems her

Beschreibung

bool openlog ( string $ident , int $option , int $facility )

Die Funktion openlog() öffnet eine Verbindung zum System-Logdienst eines Programmes.

Die Verwendung von openlog() ist optional. Die Funktion wird - falls erforderlich - automatisch von syslog() aufgerufen, dabei wird ident standardmäßig mit FALSE belegt.

Parameter-Liste

ident

Die Zeichenkette ident wird jeder Message hinzugefügt.

option

Der Parameter option wird verwendet um anzuzeigen, welchen Loggingoptionen bei der Generierung einer Logmessage verwendet wurden.

openlog()-Optionen
Konstante Beschreibung
LOG_CONS Tritt ein Fehler auf, wenn Daten an den Systemlogger gesendet werden, leite die Ausgabe direkt an die Konsole um.
LOG_NDELAY Öffnet die Verbindung zum Log-Service sofort.
LOG_ODELAY (Standardwert); öffnet die Verbindung erst, wenn die erste Meldung geloggt werden soll.
LOG_PERROR Schreibt den Logeintrag auch in das Standard-Error-Device
LOG_PID Fügt die PID an jede Message an
Sie können eine oder mehrere dieser Optionen verwenden. Benutzen Sie mehrere, müssen diese per OR getrennt werden. Um zum Beispiel die Verbindung sofort herzustellen, auf die Konsole zu schreiben und zugleich die PID in jede Meldung aufzunehmen, müssen Sie folgendes angeben: LOG_CONS | LOG_NDELAY | LOG_PID.

facility

Das Argument facility wird verwendet, um die Art des Programmes festzulegen, das die Nachricht loggt. Dies erlaubt Ihnen (in Ihrer speziellen SysLog-Konfiguration) die Festlegung der Behandlungsweise von Log-Nachrichten.

openlog()-Möglichkeiten
Konstante Beschreibung
LOG_AUTH Sicherheits-/Authorisierungsmeldungen (benutzt statt dessen LOG_AUTHPRIV auf Systemen, wo diese Konstante definiert ist).
LOG_AUTHPRIV Sicherheits-/Authorisierungsmeldungen (private).
LOG_CRON Zeitabhängig gestartete Dienste (cron und at).
LOG_DAEMON Andere Systemdienste.
LOG_KERN Kernel-Meldungen
LOG_LOCAL0 ... LOG_LOCAL7 Reserviert für lokale Benutzung, diese Konstanten stehen unter Windows nicht zur Verfügung.
LOG_LPR Zeilen-Drucker Subsystem.
LOG_MAIL Mailing-Subsystem.
LOG_NEWS USENET-News-Subsystem.
LOG_SYSLOG Meldungen die intern von syslogd erzeugt wurden.
LOG_USER Generische User-Level-Meldungen.
LOG_UUCP UUCP-Subsystem

Hinweis:

LOG_USER ist der einzige unter Windows-Betriebssystemen gültige Logtyp.

Rückgabewerte

Gibt bei Erfolg TRUE zurück. Im Fehlerfall wird FALSE zurückgegeben.

Siehe auch

  • syslog() - Erzeugt eine Meldung im System-Logging
  • closelog() - Schließt die Verbindung zum System-Logger

add a note add a note

User Contributed Notes 1 note

up
-1
Nimja
11 months ago
To those curious; switching between different facilities is NOT an issue. There is no apparent memory overhead (nor slowdown) by calling openlog multiple(12 * 10000) times.

Shown by this example:

<?php
$facilities
= array(
   
LOG_AUTH,
   
LOG_AUTHPRIV,
   
LOG_CRON,
   
LOG_DAEMON,
   
LOG_KERN,
   
LOG_LOCAL0,
   
LOG_LPR,
   
LOG_MAIL,
   
LOG_NEWS,
   
LOG_SYSLOG,
   
LOG_USER,
   
LOG_UUCP,
);

for (
$i = 0; $i < 10000; $i++) {
    foreach (
$facilities as $facility) {
       
openlog('test', LOG_PID, $facility);
       
syslog(LOG_ERR, "This is a test: " . memory_get_usage(true));
    }
}
?>
To Top