syslog

(PHP 3, PHP 4 , PHP 5)

syslog --  Génère un message dans l'historique système

Description

int syslog ( int priority, string message )

syslog() génère un message qui sera inscrit dans l'historique par le système. priority est une combinaison des valeurs d'accès et de niveau, qui seront décrites dans la prochaine section. Le dernier argument est le message à envoyer. Attention : les caractères %m seront remplacés par l'erreur (sous forme de chaîne), présente dans errno.

Tableau 1. Priorités syslog()(en ordre décroissant)

ConstanteDescription
LOG_EMERGsystème inutilisable
LOG_ALERTune décision doit être prise immédiatement
LOG_CRITcondition critique
LOG_ERRcondition d'erreur
LOG_WARNINGcondition d'alerte
LOG_NOTICEcondition normale, mais significative
LOG_INFOmessage d'information
LOG_DEBUGmessage de débogage

Exemple 1. Utilisation de syslog()

<?php
define_syslog_variables
();
// ouverture de syslog, ajout du PID et envoi simultané du
// message à la sortie standard et à un mécanisme
// spécifique
openlog("myScriptLog", LOG_PID | LOG_PERROR, LOG_LOCAL0);

// quelques lignes de code

if (authorized_client()) {
    
// faire quelquechose
} else {
    
// client non autorisé!
    // notation de la tentative
    
$access = date("Y/m/d H:i:s");
    
syslog(LOG_WARNING, "Client non autorisé: $access $_SERVER[REMOTE_ADDR] ($_SERVER[HTTP_USER_AGENT])");
}

closelog();
?>
Pour plus d'informations sur comment mettre en place un gestionnaire d'historique, reportez-vous au manuel Unix, page 5 syslog.conf(5). D'autres informations sur les systèmes d'historique et leurs options sont aussi disponibles dans le manuel syslog(3) des machines Unix.

Avec Windows NT, l'historique est pris en charge par Event Log.

Note : L'utilisation de LOG_LOCAL0 à LOG_LOCAL7 pour le paramètre facility de la fonction openlog() n'est pas disponible sous Windows.

Voir aussi define_syslog_variables(), openlog() et closelog().