File: Zend_Log-Writers-Firebug.xml

package info (click to toggle)
zendframework 1.12.9%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie-kfreebsd
  • size: 133,584 kB
  • sloc: xml: 1,311,829; php: 570,173; sh: 170; makefile: 125; sql: 121
file content (226 lines) | stat: -rw-r--r-- 8,777 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect2 id="zend.log.writers.firebug">
    <title>Écrire vers Firebug</title>

    <para>
        <classname>Zend_Log_Writer_Firebug</classname> envoie des données d'historisation vers
        la <ulink url="http://www.getfirebug.com/">console Firebug</ulink>.
    </para>

    <para>
        <inlinegraphic fileref="figures/zend.wildfire.firebug.console.png" format="PNG"
        scale="100" width="310" />
    </para>

    <para>
        Toutes les données sont envoyées via le composant
        <classname>Zend_Wildfire_Channel_HttpHeaders</classname> qui utilise les en-têtes <acronym>HTTP</acronym> pour
        s'assurer que le contenu de la page n'est pas perturbé. Déboguer les requêtes <acronym>AJAX</acronym> qui
        requière du <acronym>JSON</acronym> "propre" ou un réponse <acronym>XML</acronym> est possible avec cette approche.
    </para>

    <para>Éléments requis :</para>

    <itemizedlist>
        <listitem>
            <para>
                Navigateur Firefox idéalement en version 3 mais la version 2 est aussi
                supportée.
            </para>
        </listitem>

        <listitem>
            <para>
                L'extension Firefox nommée Firebug qui peut être téléchargée à cette adresse
                <ulink
                url="https://addons.mozilla.org/en-US/firefox/addon/1843">https://addons.mozilla.org/en-US/firefox/addon/1843</ulink>.
            </para>
        </listitem>

        <listitem>
            <para>
                L'extension Firefox nommée FirePHP ui peut être téléchargée à cette adresse
                <ulink
                url="https://addons.mozilla.org/en-US/firefox/addon/6149">https://addons.mozilla.org/en-US/firefox/addon/6149</ulink>.
            </para>
        </listitem>
    </itemizedlist>

    <example id="zend.log.writers.firebug.example.with_front_controller">
        <title>Journaliser avec Zend_Controller_Front</title>

        <programlisting language="php"><![CDATA[
// Placez ceci dans votre fichier d'amorçage
// avant de distribuer votre contrôleur frontal
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);

// Utiliser ceci dans vos fichiers de modèles, vues et contrôleurs
$logger->log('Ceci est un message de log !', Zend_Log::INFO);
]]></programlisting>
    </example>

    <example id="zend.log.writers.firebug.example.without_front_controller">
        <title>Journaliser sans Zend_Controller_Front</title>

        <programlisting language="php"><![CDATA[
$writer = new Zend_Log_Writer_Firebug();
$logger = new Zend_Log($writer);

$request = new Zend_Controller_Request_Http();
$response = new Zend_Controller_Response_Http();
$channel = Zend_Wildfire_Channel_HttpHeaders::getInstance();
$channel->setRequest($request);
$channel->setResponse($response);

// Démarrer l'output buffering
ob_start();

// Maintenant vous pouvez appeler le logguer
$logger->log('Ceci est un message de log !', Zend_Log::INFO);

// Envoi des données d'historisation vers le navigateur
$channel->flush();
$response->sendHeaders();
]]></programlisting>
    </example>

    <sect3 id="zend.log.writers.firebug.priority-styles">
        <title>Paramétrer les styles pour les priorités</title>

        <para>
            Les priorités incorporées et celles définies par l'utilisateur peuvent être
            stylisées avec la méthode <methodname>setPriorityStyle()</methodname>.
        </para>

        <programlisting language="php"><![CDATA[
$logger->addPriority('FOO', 8);
$writer->setPriorityStyle(8, 'TRACE');
$logger->foo('Foo Message');
]]></programlisting>

        <para>
            Le style par défaut pour les priorités définies par l'utilisateur peut être
            paramétrer avec la méthode <methodname>setDefaultPriorityStyle()</methodname>.
        </para>

        <programlisting language="php"><![CDATA[
$writer->setDefaultPriorityStyle('TRACE');
]]></programlisting>

        <para>
            Les styles supportés sont les suivants : <table
                    id="zend.log.writers.firebug.priority-styles.table">
                    <title>Styles d'historisation de Firebug</title>

                    <tgroup cols="2">
                        <thead>
                            <row>
                                <entry>Style</entry>
                                <entry>Description</entry>
                            </row>
                        </thead>

                        <tbody>
                            <row>
                                <entry><constant>LOG</constant></entry>
                                <entry>Affiche un message d'historisation basique</entry>
                            </row>

                            <row>
                                <entry><constant>INFO</constant></entry>
                                <entry>Affiche un message d'historisation de type
                                information</entry>
                            </row>

                            <row>
                                <entry><constant>WARN</constant></entry>
                                <entry>Affiche un message d'historisation de type
                                avertissement</entry>
                            </row>

                            <row>
                                <entry><constant>ERROR</constant></entry>
                                <entry>Affiche un message d'historisation de type erreur (celui-ci
                                incrémente le compteur d'erreur de Firebug)</entry>
                            </row>

                            <row>
                                <entry><constant>TRACE</constant></entry>
                                <entry>Affiche un message d'historisation avec une trace
                                extensible</entry>
                            </row>

                            <row>
                                <entry><constant>EXCEPTION</constant></entry>
                                <entry>Affiche un message d'historisation de type erreur avec une
                                trace extensible</entry>
                            </row>

                            <row>
                                <entry><constant>TABLE</constant></entry>
                                <entry>Affiche un message d'historisation avec une table
                                extensible</entry>
                            </row>
                        </tbody>
                    </tgroup>
                </table>
            </para>
    </sect3>

    <sect3 id="zend.log.writers.firebug.preparing-data">
        <title>Préparer les données pour l'historisation</title>

        <para>
            Toute variable <acronym>PHP</acronym> peut être journalisée avec les priorités incorporées, un
            formatage spécial est requis si vous utilisez des styles d'historisation un peu plus
            spécialisé.
        </para>

        <para>
            Les styles <constant>LOG</constant>, <constant>INFO</constant>, <constant>WARN</constant>,
            <constant>ERROR</constant> et <constant>TRACE</constant> ne requièrent pas de formatage spécial.
        </para>
    </sect3>

    <sect3 id="zend.log.writers.firebug.preparing-data.exception">
        <title>Historisation des exceptions</title>

        <para>
            Pour journaliser une <classname>Zend_Exception</classname>, fournissez simplement
            l'objet exception au logguer. Il n'y a pas d'importance sur la priorité ou le style que
            vous avez fourni puisque l'exception est automatiquement reconnue.
        </para>

        <programlisting language="php"><![CDATA[
$exception = new Zend_Exception('Test d\'exception');
$logger->err($exception);
]]></programlisting>
    </sect3>

    <sect3 id="zend.log.writers.firebug.preparing-data.table">
        <title>Historisation sous forme de tableau</title>

        <para>
            Vous pouvez aussi journaliser des données en les formatant comme un tableau. Les
            colonnes sont automatiquement reconnues et la première ligne de données devient
            automatiquement la ligne d'en-têtes.
        </para>

        <programlisting language="php"><![CDATA[
$writer->setPriorityStyle(8, 'TABLE');
$logger->addPriority('TABLE', 8);

$table = array('Ligne de résumé pour la table',
               array(
                   array('Colonne 1', 'Colonne 2'),
                   array('Ligne 1 c 1',' Ligne 1 c 2'),
                   array('Ligne 2 c 1',' Ligne 2 c 2')
               )
              );
$logger->table($table);
]]></programlisting>
    </sect3>
</sect2>