| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 24249 -->
- <sect2 id="zend.log.writers.firebug">
- <title>Firebug への書き込み</title>
- <para>
- <classname>Zend_Log_Writer_Firebug</classname> は、ログデータを
- <ulink url="http://www.getfirebug.com/">Firebug</ulink>
- <ulink url="http://getfirebug.com/logging.html">コンソール</ulink>
- に送信します。
- </para>
- <para>
- <inlinegraphic fileref="figures/zend.wildfire.firebug.console.png" format="PNG" scale="100" width="310" />
- </para>
- <para>
- すべてのデータの送信には <classname>Zend_Wildfire_Channel_HttpHeaders</classname>
- コンポーネントを使用します。これは <acronym>HTTP</acronym> ヘッダを使用するので、
- ページのコンテンツには何も影響を及ぼしません。
- この方式なら、<acronym>AJAX</acronym> リクエストのようにクリーンな <acronym>JSON</acronym>
- および <acronym>XML</acronym> レスポンスを要求するリクエストのデバッグも行えます。
- </para>
- <para>
- 要件:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Firefox ブラウザ。バージョン 3 が最適ですがバージョン 2 にも対応しています。
- </para>
- </listitem>
- <listitem>
- <para>
- Firebug 拡張。
- <ulink url="https://addons.mozilla.org/ja/firefox/addon/1843">https://addons.mozilla.org/ja/firefox/addon/1843</ulink>
- からダウンロードできます。
- </para>
- </listitem>
- <listitem>
- <para>
- FirePHP 拡張。
- <ulink url="https://addons.mozilla.org/ja/firefox/addon/6149">https://addons.mozilla.org/ja/firefox/addon/6149</ulink>
- からダウンロードできます。
- </para>
- </listitem>
- </itemizedlist>
- <example id="zend.log.writers.firebug.example.with_front_controller">
- <title>Zend_Controller_Front を使ったログ記録</title>
- <programlisting language="php"><![CDATA[
- // 起動ファイルで、フロントコントローラのディスパッチの前に記述します
- $writer = new Zend_Log_Writer_Firebug();
- $logger = new Zend_Log($writer);
- // モデル、ビューおよびコントローラのファイル内でこれを使用します
- $logger->log('This is a log message!', Zend_Log::INFO);
- ]]></programlisting>
- </example>
- <example id="zend.log.writers.firebug.example.without_front_controller">
- <title>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);
- // 出力バッファリングを開始します
- ob_start();
- // ロガーをコールします
- $logger->log('This is a log message!', Zend_Log::INFO);
- // ログデータをブラウザに送ります
- $channel->flush();
- $response->sendHeaders();
- ]]></programlisting>
- </example>
- <sect3 id="zend.log.writers.firebug.priority-styles">
- <title>優先度のスタイルの設定</title>
- <para>
- 組み込みの優先度やユーザ定義の優先度を使うには
- <methodname>setPriorityStyle()</methodname> メソッドを使用します。
- </para>
- <programlisting language="php"><![CDATA[
- $logger->addPriority('FOO', 8);
- $writer->setPriorityStyle(8, 'TRACE');
- $logger->foo('Foo Message');
- ]]></programlisting>
- <para>
- ユーザ定義の優先度用のデフォルトのスタイルを設定するには
- <methodname>setDefaultPriorityStyle()</methodname> メソッドを使用します。
- </para>
- <programlisting language="php"><![CDATA[
- $writer->setDefaultPriorityStyle('TRACE');
- ]]></programlisting>
- <para>
- サポートしているスタイルは次のとおりです。
- <table id="zend.log.writers.firebug.priority-styles.table">
- <title>Firebug Logging Styles</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>スタイル</entry>
- <entry>説明</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry><constant>LOG</constant></entry>
- <entry>通常のログメッセージを表示します</entry>
- </row>
- <row>
- <entry><constant>INFO</constant></entry>
- <entry>情報ログメッセージを表示します</entry>
- </row>
- <row>
- <entry><constant>WARN</constant></entry>
- <entry>警告ログメッセージを表示します</entry>
- </row>
- <row>
- <entry><constant>ERROR</constant></entry>
- <entry>エラーログメッセージを表示し、Firebug のエラーカウントをひとつ増やします</entry>
- </row>
- <row>
- <entry><constant>TRACE</constant></entry>
- <entry>拡張スタックトレースつきのログメッセージを表示します</entry>
- </row>
- <row>
- <entry><constant>EXCEPTION</constant></entry>
- <entry>拡張スタックトレースつきのエラーログメッセージを表示します</entry>
- </row>
- <row>
- <entry><constant>TABLE</constant></entry>
- <entry>拡張テーブルつきのログメッセージを表示します</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </para>
- </sect3>
- <sect3 id="zend.log.writers.firebug.preparing-data">
- <title>ログ記録用のデータの準備</title>
- <para>
- 任意の <acronym>PHP</acronym> の変数を組み込みの優先度でログに記録できますが、
- 特殊なログ形式を使う場合は、何らかの書式変換が必要となります。
- </para>
- <para>
- <constant>LOG</constant>、<constant>INFO</constant>、<constant>WARN</constant>、<constant>ERROR</constant>
- そして <constant>TRACE</constant> については特別な書式変換は不要です。
- </para>
- </sect3>
- <sect3 id="zend.log.writers.firebug.preparing-data.exception">
- <title>例外のログ記録</title>
- <para>
- <classname>Zend_Exception</classname> のログを記録するには、
- 単にその例外オブジェクトをロガーに渡すだけです。
- 設定している優先度やスタイルにかかわらず、
- 例外は自動的に例外と判断されます。
- </para>
- <programlisting language="php"><![CDATA[
- $exception = new Zend_Exception('Test exception');
- $logger->err($exception);
- ]]></programlisting>
- </sect3>
- <sect3 id="zend.log.writers.firebug.preparing-data.table">
- <title>表形式のログ</title>
- <para>
- ログを表形式で記録できます。カラムは自動検出され、
- データの最初の行がヘッダと見なされます。
- </para>
- <programlisting language="php"><![CDATA[
- $writer->setPriorityStyle(8, 'TABLE');
- $logger->addPriority('TABLE', 8);
- $table = array('Summary line for the table',
- array(
- array('Column 1', 'Column 2'),
- array('Row 1 c 1',' Row 1 c 2'),
- array('Row 2 c 1',' Row 2 c 2')
- )
- );
- $logger->table($table);
- ]]></programlisting>
- </sect3>
- </sect2>
|