Zend_Log-Writers-Firebug.xml 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.log.writers.firebug">
  5. <title>An Firebug schreiben</title>
  6. <para>
  7. <classname>Zend_Log_Writer_Firebug</classname> sendet Logdaten an die
  8. <ulink url="http://www.getfirebug.com/">Firebug</ulink>
  9. <ulink url="http://getfirebug.com/logging.html">Console</ulink>.
  10. </para>
  11. <para>
  12. <inlinegraphic fileref="figures/zend.wildfire.firebug.console.png" format="PNG" scale="100"
  13. width="310" />
  14. </para>
  15. <para>
  16. Alle Daten werden über die <classname>Zend_Wildfire_Channel_HttpHeaders</classname>
  17. Komponente gesendet welche <acronym>HTTP</acronym> Header verwendet um sicherzustellen das
  18. der Seiteninhalt nicht verändert wird. Das Debuggen von <acronym>AJAX</acronym> Anfragen die
  19. klare <acronym>JSON</acronym> und <acronym>XML</acronym> Antworten benötigen ist mit diesem
  20. Vorgehen möglich.
  21. </para>
  22. <para>
  23. Notwendigkeiten:
  24. </para>
  25. <itemizedlist>
  26. <listitem>
  27. <para>
  28. Ein Firefox Browser idealerweise Version 3 aber auch Version 2 wird unterstützt.
  29. </para>
  30. </listitem>
  31. <listitem>
  32. <para>
  33. Die Firebug Firefox Erweiterung welche unter <ulink
  34. url="https://addons.mozilla.org/en-US/firefox/addon/1843">https://addons.mozilla.org/en-US/firefox/addon/1843</ulink>
  35. heruntergeladen werden kann.
  36. </para>
  37. </listitem>
  38. <listitem>
  39. <para>
  40. Die FirePHP Filefox Erweiterung welche unter <ulink
  41. url="https://addons.mozilla.org/en-US/firefox/addon/6149">https://addons.mozilla.org/en-US/firefox/addon/6149</ulink>
  42. heruntergeladen werden kann.
  43. </para>
  44. </listitem>
  45. </itemizedlist>
  46. <example id="zend.log.writers.firebug.example.with_front_controller">
  47. <title>Loggen mit Zend_Controller_Front</title>
  48. <programlisting language="php"><![CDATA[
  49. // In der Bootstrap Datei platzieren bevor der Frontcontroller ausgeführt wird
  50. $writer = new Zend_Log_Writer_Firebug();
  51. $logger = new Zend_Log($writer);
  52. // Verwende das in den Modell, View, und Controller Dateien
  53. $logger->log('Das ist eine Lognachricht!', Zend_Log::INFO);
  54. ]]></programlisting>
  55. </example>
  56. <example id="zend.log.writers.firebug.example.without_front_controller">
  57. <title>Loggen ohne Zend_Controller_Front</title>
  58. <programlisting language="php"><![CDATA[
  59. $writer = new Zend_Log_Writer_Firebug();
  60. $logger = new Zend_Log($writer);
  61. $request = new Zend_Controller_Request_Http();
  62. $response = new Zend_Controller_Response_Http();
  63. $channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
  64. $channel->setRequest($request);
  65. $channel->setResponse($response);
  66. // Ausgabe buffering starten
  67. ob_start();
  68. // Jetzt können Aufrufe an den Logger durchgeführt werden
  69. $logger->log('Das ist eine Lognachricht!', Zend_Log::INFO);
  70. // Logdaten an den Browser senden
  71. $channel->flush();
  72. $response->sendHeaders();
  73. ]]></programlisting>
  74. </example>
  75. <sect3 id="zend.log.writers.firebug.priority-styles">
  76. <title>Setzen von Stilen für Prioritäten</title>
  77. <para>
  78. Eingebaute und Benutzerdefinierte Prioritäten können mit der
  79. <methodname>setPriorityStyle()</methodname> Methode angepasst werden.
  80. </para>
  81. <programlisting language="php"><![CDATA[
  82. $logger->addPriority('FOO', 8);
  83. $writer->setPriorityStyle(8, 'TRACE');
  84. $logger->foo('Foo Nachricht');
  85. ]]></programlisting>
  86. <para>
  87. Der Standardstil für Benutzerdefinierte Prioritäten kann mit der
  88. <methodname>setDefaultPriorityStyle()</methodname> Methode gesetzt werden.
  89. </para>
  90. <programlisting language="php"><![CDATA[
  91. $writer->setDefaultPriorityStyle('TRACE');
  92. ]]></programlisting>
  93. <para>
  94. Die unterstützten Stile sind wie folgt:
  95. <table id="zend.log.writers.firebug.priority-styles.table">
  96. <title>Firebug Logging Stile</title>
  97. <tgroup cols="2">
  98. <thead>
  99. <row>
  100. <entry>Stil</entry>
  101. <entry>Beschreibung</entry>
  102. </row>
  103. </thead>
  104. <tbody>
  105. <row>
  106. <entry><constant>LOG</constant></entry>
  107. <entry>Zeigt eine reine Lognachricht an</entry>
  108. </row>
  109. <row>
  110. <entry><constant>INFO</constant></entry>
  111. <entry>Zeigt eine Info Lognachricht an</entry>
  112. </row>
  113. <row>
  114. <entry><constant>WARN</constant></entry>
  115. <entry>Zeigt eine Warnungs Lognachricht an</entry>
  116. </row>
  117. <row>
  118. <entry><constant>ERROR</constant></entry>
  119. <entry>
  120. Zeigt eine Fehler Lognachricht an die den Fehlerzählen von Firebug
  121. erhöht
  122. </entry>
  123. </row>
  124. <row>
  125. <entry><constant>TRACE</constant></entry>
  126. <entry>
  127. Zeigt eine Lognachricht mit einem erweiterbaren Stack Trace an
  128. </entry>
  129. </row>
  130. <row>
  131. <entry><constant>EXCEPTION</constant></entry>
  132. <entry>
  133. Zeigt eine lange Fehlernachicht mit erweiterbarem Stack Trace an
  134. </entry>
  135. </row>
  136. <row>
  137. <entry><constant>TABLE</constant></entry>
  138. <entry>Zeigt eine Lognachricht mit erweiterbarer Tabelle an</entry>
  139. </row>
  140. </tbody>
  141. </tgroup>
  142. </table>
  143. </para>
  144. </sect3>
  145. <sect3 id="zend.log.writers.firebug.preparing-data">
  146. <title>Daten für das Loggen vorbereiten</title>
  147. <para>
  148. Wärend jede <acronym>PHP</acronym> Variable mit den eingebauten Prioritäten geloggt
  149. werden kann, ist eine etwas spezielle Formatierung notwendig wenn einige der
  150. spezialisierteren Logstile verwendet werden.
  151. </para>
  152. <para>
  153. Die <constant>LOG</constant>, <constant>INFO</constant>, <constant>WARN</constant>,
  154. <constant>ERROR</constant> und <constant>TRACE</constant> Stile benötigen keine
  155. spezielle Formatierung.
  156. </para>
  157. </sect3>
  158. <sect3 id="zend.log.writers.firebug.preparing-data.exception">
  159. <title>Loggen von Ausnahmen</title>
  160. <para>
  161. Um eine <classname>Zend_Exception</classname> zu loggen muß einfach das Exceptionobjekt an
  162. den Logger übergeben werden. Es ist egal welche Priorität oder welcher Stil gesetzt wurde,
  163. da die Ausnahme automatisch erkannt wird.
  164. </para>
  165. <programlisting language="php"><![CDATA[
  166. $exception = new Zend_Exception('Test Ausnahme');
  167. $logger->err($exception);
  168. ]]></programlisting>
  169. </sect3>
  170. <sect3 id="zend.log.writers.firebug.preparing-data.table">
  171. <title>Tabellen loggen</title>
  172. <para>
  173. Man kann auch Daten loggen und diese in einem Table Stil formatieren. Spalten werden
  174. automatisch erkannt und die erste Zeile der Daten wird automatisch der Header.
  175. </para>
  176. <programlisting language="php"><![CDATA[
  177. $writer->setPriorityStyle(8, 'TABLE');
  178. $logger->addPriority('TABLE', 8);
  179. $table = array('Summary line for the table',
  180. array(
  181. array('Spalte 1', 'Spalte 2'),
  182. array('Zeile 1 c 1','Zeile 1 c 2'),
  183. array('Zeile 2 c 1',' Zeile 2 c 2')
  184. )
  185. );
  186. $logger->table($table);
  187. ]]></programlisting>
  188. </sect3>
  189. </sect2>