Zend_Log-Writers-Firebug.xml 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  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 <acronym>HTTP</acronym> pour
  17. s'assurer que le contenu de la page n'est pas perturbé. Déboguer les requêtes <acronym>AJAX</acronym> qui
  18. requière du <acronym>JSON</acronym> "propre" ou un réponse <acronym>XML</acronym> 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 <methodname>setPriorityStyle()</methodname>.
  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 <methodname>setDefaultPriorityStyle()</methodname>.
  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><constant>LOG</constant></entry>
  105. <entry>Affiche un message d'historisation basique</entry>
  106. </row>
  107. <row>
  108. <entry><constant>INFO</constant></entry>
  109. <entry>Affiche un message d'historisation de type
  110. information</entry>
  111. </row>
  112. <row>
  113. <entry><constant>WARN</constant></entry>
  114. <entry>Affiche un message d'historisation de type
  115. avertissement</entry>
  116. </row>
  117. <row>
  118. <entry><constant>ERROR</constant></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><constant>TRACE</constant></entry>
  124. <entry>Affiche un message d'historisation avec une trace
  125. extensible</entry>
  126. </row>
  127. <row>
  128. <entry><constant>EXCEPTION</constant></entry>
  129. <entry>Affiche un message d'historisation de type erreur avec une
  130. trace extensible</entry>
  131. </row>
  132. <row>
  133. <entry><constant>TABLE</constant></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 <acronym>PHP</acronym> 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 <constant>LOG</constant>, <constant>INFO</constant>, <constant>WARN</constant>,
  151. <constant>ERROR</constant> et <constant>TRACE</constant> 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>