Forum und email

syslog

(PHP 4, PHP 5)

syslog — Genera un messaggio del system log

Descrizione

int syslog ( int $priorità , string $messaggio )

syslog() genera un messaggio di log che viene distribuito dal logger di sistema. priorità è la combinazione della facility e del livello, valori utilizzabili sono riportati nella prossima sezione. L'argomento rimanente è il messaggio da inviare, eccetto i due caratteri %m che vengono sostituiti dalla stringa del messaggio di errore (strerror) corrispondente all'attuale valore di errno.

Priorità syslog() (in ordine discendente)
Costante Descrizione
LOG_EMERG sistema non utilizzabile
LOG_ALERT azione da intraprendere immediatamente
LOG_CRIT condizioni critiche
LOG_ERR condizioni di errore
LOG_WARNING condizioni di attenzione
LOG_NOTICE condizione normale, ma significativa
LOG_INFO messaggio di informazione
LOG_DEBUG messaggio a livello di debug

Example#1 Uso di syslog()

<?php
define_syslog_variables
();
// apre il syslog, include l'ID del processo, invia il
// log anche su standard error e fa uso di un meccanismo
// di logging defiito dall'utente
openlog("IlMioLog"LOG_PID LOG_PERRORLOG_LOCAL0);

// un po' di codice

if (client_autorizzato()) {
    
// fa qualcosa
} else {
    
// client non autorizzato!
    // logga il tentativo
    
$accesso date("Y/m/d H:i:s");
    
syslog(LOG_WARNING,"Client non autorizzato: $accesso $REMOTE_ADDR ($HTTP_USER_AGENT)");
}

closelog();
?>
Per informazioni su come creare un gestore di log definito dall'utente, fare riferimento alla man page syslog.conf (5) di Unix. Ulteriori informazioni sulle facility di syslog e sulle sue opzioni possono essere trovate sulle macchine Unix nelle man page di syslog (3).

Su Windows NT, il servizio syslog è emulato usando Event Log.

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