openlog

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

openlogApre una connessione al logger di sistema

Descrizione

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

openlog() apre una connessione al logger di sistema per un programma. La stringa ident viene aggiunta a ogni messaggio. Valori per option e facility sono dati di seguito. L'argomento option viene usato per indicare quali opzioni di loggin verranno usate durante la generazione di un messaggio di log. L'argomento facility viene usato per specificare quale tipo di programma sta loggando il messaggio. Questo permette di specificare (nella comfigurazione del syslog della macchina) come trattare i messaggi provenienti dalle diverse facility. L'uso di openlog() è opzionale. Viene chiamato automaticamente da syslog() se necessario, in tal caso ident sarà di default false.

Opzioni di openlog()
Costante Descrizione
LOG_CONS se si verifica un errore durante l'invio dei dati al logger di sistema, scrive direttamente sulla console di sistema
LOG_NDELAY apre immediatamente una connessione al logger
LOG_ODELAY (default) ritarda l'apertura della connessione fino a quando non viene loggato il primo messaggio
LOG_PERROR stampa un messaggio di log anche su standard error
LOG_PID include il PID in ciascun messaggio
Si possono usare una o più di queste opzioni. Usando opzioni multiple è necessario usare OR, ad esempio per aprire la connessione immediatamente, scrivere sulla console e il PID in ciascun messaggio, si dovrà usare: LOG_CONS | LOG_NDELAY | LOG_PID

Facility di openlog()
Costante Descrizione
LOG_AUTH messaggi di sicurezza/autorizzazione (usa LOG_AUTHPRIV nei sistemi dove è definita quella costante)
LOG_AUTHPRIV messaggi di sicurezza/autorizzazione (private)
LOG_CRON clock daemon (cron e at)
LOG_DAEMON altri demoni di sistema
LOG_KERN messaggi del kernel
LOG_LOCAL0 ... LOG_LOCAL7 riservato per il locale
LOG_LPR sottosistema line printer
LOG_MAIL sottosistema mail
LOG_NEWS sottosistema news di USENET
LOG_SYSLOG messaggi generati internamente da syslogd
LOG_USER messaggi generici user-level
LOG_UUCP sottosistema UUCP

Vedere anche define_syslog_variables(), syslog() e closelog().

add a note add a note

User Contributed Notes 2 notes

up
2
Nimja
10 years 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));
    }
}
?>
up
1
sam dot wankaner at gmail dot com
9 years ago
In second parameter int $option, PI means Process ID (PID).
That is the unique number given to that process. For eg [30326]
To Top