syslog

(PHP 3, 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.

Tabella 1. Priorità syslog() (in ordine discendente)

CostanteDescrizione
LOG_EMERGsistema non utilizzabile
LOG_ALERTazione da intraprendere immediatamente
LOG_CRITcondizioni critiche
LOG_ERRcondizioni di errore
LOG_WARNINGcondizioni di attenzione
LOG_NOTICEcondizione normale, ma significativa
LOG_INFOmessaggio di informazione
LOG_DEBUGmessaggio a livello di debug

Esempio 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_PERROR, LOG_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().