Zend_Log-Writers-Firebug.xml 8.4 KB

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