Ecrire vers le moniteur Zend Server Zend_Log_Writer_ZendMonitor vous permet de journaliser des évènements via l'API de Zend Server. Vous pouvez alors aggréger des messages de journal pour l'application et tout son environnement, ceci vers un seul endroit. En interne, cet objet utilise simplement la fonction monitor_custom_event() issue de Zend Monitor. Une caractéristique particulière de l'API Monitor est que vous pouvez spécifier n'importe quelle information dans le journal. Par exemple, journaliser une exception est possible en journalisant tout l'objet Exception d'un coup et pas juste son message. L'objet sera alors visible et analysable via le moniteur d'évènement de Zend Server. Zend Monitor doit être installé et activé Pour utiliser cet objet d'écriture, Zend Monitor doit petre installé et activé. Si ce n'est pas le cas, alors l'objet d'écriture agira de manière transparente et ne fera rien du tout. Instancier l'objet d'écriture ZendMonitor est très simple: Ensuite, journalisez vos évènements comme d'habitude: info('Voici un message'); ]]> Vous pouvez ajouter des informations à journaliser, passez les comme second paramètre: info('Exception rencontrée', $e); ]]> Ce deuxième paramètre peut être de type scalaire, objet, ou tableau; si vous souhaitez passer plusieurs informations d'un seul coup, utilisez un tableau. info('Exception rencontrée', array( 'request' => $request, 'exception' => $e, )); ]]> Au sein de Zend Server, votre évènement est enregistré comme un "évènement personnalisé" (custom event). Depuis l'onglet "Monitor", sélectionnez le sous menu "Evènements"(Events), et utilisez ensuite le filtre "Personnalisé"(Custom). Evènements dans le récapitulatif Zend Server Monitor Sur cette image, les deux premiers évènements listés sont des évènements personnalisés enregistré via l'objet d'écriture ZendMonitor. Cliquez alors sur un évènement pour voir toutes ses informations. Détails de l'évènement dans Zend Server Monitor Cliquer sur le sous menu "Personnalisé"(Custom) montre les détails, c'est à dire ce que vous avez passé comme deuxième argument à la méthode de journalisation. Cet information est enregistrée sous la clé info; et vous pouvez voir que l'objet de requête a été enregistré dans cet exemple. Intégration avec Zend_Application Par défaut, les commandes zf.sh et zf.bat ajoute une configuration pour la ressource 'log' deZend_Application , elle inclut la configuration pour l'objet d'écriture du journal ZendMonitor. Aussi, le ErrorController utilise ce journal pour journaliser les exceptions de l'application. Comme dit précedemment, si l'API de Zend Monitor API n'est pas détectée sur votre installation de PHP, alors le journal ne fera rien du tout.