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.