Zend_Log-Writers-Firebug.xml 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <!-- EN-Revision: 12116 -->
  2. <sect2 id="zend.log.writers.firebug">
  3. <title>Écrire vers Firebug</title>
  4. <para><classname>Zend_Log_Writer_Firebug</classname> envoie des données d'historisation vers la <ulink
  5. url="http://www.getfirebug.com/">console Firebug</ulink>.</para>
  6. <para><inlinegraphic fileref="figures/zend.wildfire.firebug.console.png" format="PNG" scale="100"
  7. width="310"></inlinegraphic></para>
  8. <para>Toutes les données sont envoyées via le composant <classname>Zend_Wildfire_Channel_HttpHeaders</classname> qui utilise
  9. les en-têtes HTTP pour s'assurer que le contenu de la page n'est pas perturbé. Déboguer les requêtes AJAX qui
  10. requière du JSON "propre" ou un réponse XML est possible avec cette approche.</para>
  11. <para>Éléments requis :</para>
  12. <itemizedlist>
  13. <listitem>
  14. <para>Navigateur Firefox idéalement en version 3 mais la version 2 est aussi supportée.</para>
  15. </listitem>
  16. <listitem>
  17. <para>L'extension Firefox nommée Firebug qui peut être téléchargée à cette adresse <ulink
  18. url="https://addons.mozilla.org/en-US/firefox/addon/1843">https://addons.mozilla.org/en-US/firefox/addon/1843</ulink>.</para>
  19. </listitem>
  20. <listitem>
  21. <para>L'extension Firefox nommée FirePHP ui peut être téléchargée à cette adresse <ulink
  22. url="https://addons.mozilla.org/en-US/firefox/addon/6149">https://addons.mozilla.org/en-US/firefox/addon/6149</ulink>.</para>
  23. </listitem>
  24. </itemizedlist>
  25. <example id="zend.log.writers.firebug.example.with_front_controller">
  26. <title>Journaliser avec <classname>Zend_Controller_Front</classname></title>
  27. <programlisting role="php"><![CDATA[
  28. // Placez ceci dans votre fichier d'amorçage
  29. // avant de distribuer votre contrôleur frontal
  30. $writer = new Zend_Log_Writer_Firebug();
  31. $logger = new Zend_Log($writer);
  32. // Utiliser ceci dans vos fichiers de modèles, vues et contrôleurs
  33. $logger->log('Ceci est un message de log !', Zend_Log::INFO);
  34. ]]></programlisting>
  35. </example>
  36. <example id="zend.log.writers.firebug.example.without_front_controller">
  37. <title>Journaliser sans <classname>Zend_Controller_Front</classname></title>
  38. <programlisting role="php"><![CDATA[
  39. $writer = new Zend_Log_Writer_Firebug();
  40. $logger = new Zend_Log($writer);
  41. $request = new Zend_Controller_Request_Http();
  42. $response = new Zend_Controller_Response_Http();
  43. $channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
  44. $channel->setRequest($request);
  45. $channel->setResponse($response);
  46. // Démarrer l'output buffering
  47. ob_start();
  48. // Maintenant vous pouvez appeler le logguer
  49. $logger->log('Ceci est un message de log !', Zend_Log::INFO);
  50. // Envoi des données d'historisation vers le navigateur
  51. $channel->flush();
  52. $response->sendHeaders();
  53. ]]></programlisting>
  54. </example>
  55. <sect3 id="zend.log.writers.firebug.priority-styles">
  56. <title>Paramétrer les styles pour les priorités</title>
  57. <para>Les priorités incorporées et celles définies par l'utilisateur peuvent être stylisées avec la méthode
  58. <code>setPriorityStyle()</code>.</para>
  59. <programlisting role="php"><![CDATA[
  60. $logger->addPriority('FOO', 8);
  61. $writer->setPriorityStyle(8, 'TRACE');
  62. $logger->foo('Foo Message');
  63. ]]></programlisting>
  64. <para>Le style par défaut pour les priorités définies par l'utilisateur peut être paramétrer avec la méthode
  65. <code>setDefaultPriorityStyle()</code>.</para>
  66. <programlisting role="php"><![CDATA[
  67. $writer->setDefaultPriorityStyle('TRACE');
  68. ]]></programlisting>
  69. <para>Les styles supportés sont les suivants : <table id="zend.log.writers.firebug.priority-styles.table">
  70. <title>Styles d'historisation de Firebug</title>
  71. <tgroup cols="2">
  72. <thead>
  73. <row>
  74. <entry>Style</entry>
  75. <entry>Description</entry>
  76. </row>
  77. </thead>
  78. <tbody>
  79. <row>
  80. <entry><code>LOG</code></entry>
  81. <entry>Affiche un message d'historisation basique</entry>
  82. </row>
  83. <row>
  84. <entry><code>INFO</code></entry>
  85. <entry>Affiche un message d'historisation de type information</entry>
  86. </row>
  87. <row>
  88. <entry><code>WARN</code></entry>
  89. <entry>Affiche un message d'historisation de type avertissement</entry>
  90. </row>
  91. <row>
  92. <entry><code>ERROR</code></entry>
  93. <entry>Affiche un message d'historisation de type erreur (celui-ci incrémente le compteur
  94. d'erreur de Firebug)</entry>
  95. </row>
  96. <row>
  97. <entry><code>TRACE</code></entry>
  98. <entry>Affiche un message d'historisation avec une trace extensible</entry>
  99. </row>
  100. <row>
  101. <entry><code>EXCEPTION</code></entry>
  102. <entry>Affiche un message d'historisation de type erreur avec une trace extensible</entry>
  103. </row>
  104. <row>
  105. <entry><code>TABLE</code></entry>
  106. <entry>Affiche un message d'historisation avec une table extensible</entry>
  107. </row>
  108. </tbody>
  109. </tgroup>
  110. </table></para>
  111. </sect3>
  112. <sect3 id="zend.log.writers.firebug.preparing-data">
  113. <title>Préparer les données pour l'historisation</title>
  114. <para>Toute variable PHP peut être journalisée avec les priorités incorporées, un formatage spécial est requis
  115. si vous utilisez des styles d'historisation un peu plus spécialisé.</para>
  116. <para>Les styles <code>LOG</code>, <code>INFO</code>, <code>WARN</code>, <code>ERROR</code> et
  117. <code>TRACE</code> ne requièrent pas de formatage spécial.</para>
  118. </sect3>
  119. <sect3 id="zend.log.writers.firebug.preparing-data.exception">
  120. <title>Historisation des exceptions</title>
  121. <para>Pour journaliser une <classname>Zend_Exception</classname>, fournissez simplement l'objet exception au logguer. Il
  122. n'y a pas d'importance sur la priorité ou le style que vous avez fourni puisque l'exception est automatiquement
  123. reconnue.</para>
  124. <programlisting role="php"><![CDATA[
  125. $exception = new Zend_Exception('Test d\'exception');
  126. $logger->err($exception);
  127. ]]></programlisting>
  128. </sect3>
  129. <sect3 id="zend.log.writers.firebug.preparing-data.table">
  130. <title>Historisation sous forme de tableau</title>
  131. <para>Vous pouvez aussi journaliser des données en les formatant comme un tableau. Les colonnes sont
  132. automatiquement reconnues et la première ligne de données devient automatiquement la ligne d'en-têtes.</para>
  133. <programlisting role="php"><![CDATA[
  134. $writer->setPriorityStyle(8, 'TABLE');
  135. $logger->addPriority('TABLE', 8);
  136. $table = array('Ligne de résumé pour la table',
  137. array(
  138. array('Colonne 1', 'Colonne 2'),
  139. array('Ligne 1 c 1',' Ligne 1 c 2'),
  140. array('Ligne 2 c 1',' Ligne 2 c 2')
  141. )
  142. );
  143. $logger->table($table);
  144. ]]></programlisting>
  145. </sect3>
  146. </sect2>