| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- Reviewed: no -->
- <!-- EN-Revision: 24249 -->
- <sect2 id="zend.log.writers.zendmonitor">
- <title>Zend Server モニターへの書き込み</title>
- <para>
- <classname>Zend_Log_Writer_ZendMonitor</classname> では、Zend Server のモニター
- <acronym>API</acronym> を介してイベントを記録できます。
- これにより、アプリケーション環境全体のログ・メッセージを一箇所に集約できます。
- 内部的には、それは単に Zend モニター <acronym>API</acronym> 由来の
- <methodname>monitor_custom_event()</methodname> 関数を使用します。
- </para>
- <para>
- モニター <acronym>API</acronym> で特に役立つ機能は、
- ログ・メッセージと一緒に任意のカスタム情報を指定できることです。
- たとえば、例外を記録したい場合、まさにその例外メッセージを記録できません。
- しかし、関数に例外オブジェクトを全て渡せます。
- そして、Zend Server イベント・モニターの内部でオブジェクトを調査できます。
- </para>
- <note>
- <title>Zend モニターがインストールされ、使用可能にされなければいけません</title>
- <para>
- このログ・ライタを使用するには、Zend モニターがインストールされ、使用可能にされなければなりません。
- しかしながら、Zend モニターが検出されない場合、<constant>NULL</constant>
- ロガーとして単純に動作するように設計されています。
- </para>
- </note>
- <para>
- <classname>ZendMonitor</classname>ログ・ライタのインスタンス生成は特記するまでもありません。
- </para>
- <programlisting language="php"><![CDATA[
- $writer = new Zend_Log_Writer_ZendMonitor();
- $log = new Zend_Log($writer);
- ]]></programlisting>
- <para>
- それから、通常通り単純にメッセージを記録します。
- </para>
- <programlisting language="php"><![CDATA[
- $log->info('This is a message');
- ]]></programlisting>
- <para>
- イベントと共に記録する追加の情報を指定したい場合は、
- 2番目の引数でその情報を渡します。
- </para>
- <programlisting language="php"><![CDATA[
- $log->info('Exception occurred', $e);
- ]]></programlisting>
- <para>
- 2番目の引数は、スカラー、オブジェクトまたは配列です。
- 情報の複数の部分を渡す必要があるならば、そうする最高の方法は連想配列を渡すことです。
- </para>
- <programlisting language="php"><![CDATA[
- $log->info('Exception occurred', array(
- 'request' => $request,
- 'exception' => $e,
- ));
- ]]></programlisting>
- <para>
- Zend Server 内では、イベントは「カスタム・イベント」として記録されます。
- 「モニター」タブから「イベント」項目を選び、カスタム・イベントを見るために、「カスタム」上で絞り込みます。
- </para>
- <para>
- <inlinegraphic fileref="figures/zend.log.writers.zendmonitor-events.png" format="PNG" />
- </para>
- <para>
- Zend Server のモニター・ダッシュボードのイベント
- </para>
- <para>
- このスクリーン・ショットで、一覧表示される最初の2つのイベントは、
- <classname>ZendMonitor</classname>ログ・ライタを通して記録されるカスタム・イベントです。
- 関連した情報を全て見るには、イベントをクリックします。
- </para>
- <para>
- <inlinegraphic fileref="figures/zend.log.writers.zendmonitor-event.png" format="PNG" />
- </para>
- <para>
- Zend Server のモニターのイベント詳細
- </para>
- <para>
- 「カスタム」タブをクリックすると、ログ収集メソッドに2番目の引数を渡して記録した
- 追加の情報を全て詳しく表示します。
- この情報は、<varname>info</varname> キーとして記録されます。
- この例では、リクエスト・オブジェクトが記録されることを確認できます。
- </para>
- <note>
- <title>Zend_Application との統合</title>
- <para>
- <command>zf.sh</command> と <command>zf.bat</command> コマンドは、デフォルトで
- <link linkend="zend.application.available-resources.log"><classname>Zend_Application</classname>
- ログ・リソース</link>用の構成を追加します。
- そして、それは <classname>ZendMonitor</classname> ログ・ライタ用の構成を含みます。
- さらに、<classname>ErrorController</classname> は、アプリケーション例外を記録するために
- 構成されたロガーを使います。それは、デフォルトでZend モニター・イベント統合とともに提供します。
- </para>
- <para>
- 前述のように、モニター <acronym>API</acronym> が <acronym>PHP</acronym> インストールで検出されない場合、
- ロガーは単純に <constant>NULL</constant> ロガーとして動作します。
- </para>
- </note>
- </sect2>
|