Version 1.0.0 - 2006/01/31 |
|
4.4 Messages systèmes
Nous l’avons déjà signalé,
Noas PHP à été
développé de manière à ce
que toutes les anomalies détectées et
détectables puissent porter un message significatif pour
êtres analysé. Il a donc fallut mettre en place un
dispositif capable faire remonter correctement les informations. Cela
ne suffit pas, le développeur peut également y
contribuer en ajoutant des messages personnalisés pour
chaque application. Les messages remontés par les exceptions
du framework peuvent êtres très
généraux. Accompagnez-les d’un message
pertinent pour le développeur et vous transformerez le
journal des messages systèmes en une arme redoutable contre
les bugs. Pendant le développement,
n’hésiter donc pas à insérer
vos propres messages.
Cependant tous les messages ne sont pas utiles à tout
moment. Certains sont utilisés pour le débugue,
d’autres pour les notifications
d’événement rare, etc. C’est
pourquoi nous avons doté le framework d’une
capacité à désactiver certains
messages. C’est grâce au niveau des traces (niveau
des messages). Chaque message système possède un
niveau. Pour chaque application vous définissez le niveau
des traces au-dessus duquel les messages ne doivent pas être
inscrits dans le journal. Il existe quatre niveaux
prédéfinis, EXCEPTION, ERROR, INFO, DEBUG, ALL,
mais rien ne vous empêche d’en définir
d’autre. Dans ce dernier cas, vous utiliserez la
méthode Noas ::trace() directement. L’avantage des
niveaux prédéfinis c’est
qu’ils ont tous leur méthode associée,
Noas :: log (), Noas :: logError(), Noas :: logInfo () et Noas ::
logDebug (). Elles utilisent toutes Noas :: trace() en interne et
fournissent une présentation correcte du message sans
superflu.
Accès au journal des messages systèmes
<?php
Noas::import('exemple.OfficeCustomer') ;
...
try {
...
$oOfficeCustomer = null;
if(Noas::exsit('exemple.OfficeCustomer2')){
$oOfficeCustomer =
Noas:: createDynamicObject ('exemple.OfficeCustomer2');
}else{
$oOfficeCustomer = new OfficeCustomer();
Noas::logInfo('OfficeCustomer ancienne
version utilisée');
}
...
} catch (Exception $exception){
Noas::logError('impossible de ...');
Noas::log($exception);
}
...
?>
|
© 2005 Réoka Djohou, tous droits réservés. |