Zend Server モニターへの書き込み Zend_Log_Writer_ZendMonitor では、Zend Server のモニター API を介してイベントを記録できます。 これにより、アプリケーション環境全体のログ・メッセージを一箇所に集約できます。 内部的には、それは単に Zend モニター API 由来の monitor_custom_event() 関数を使用します。 モニター API で特に役立つ機能は、 ログ・メッセージと一緒に任意のカスタム情報を指定できることです。 たとえば、例外を記録したい場合、まさにその例外メッセージを記録できません。 しかし、関数に例外オブジェクトを全て渡せます。 そして、Zend Server イベント・モニターの内部でオブジェクトを調査できます。 Zend モニターがインストールされ、使用可能にされなければいけません このログ・ライタを使用するには、Zend モニターがインストールされ、使用可能にされなければなりません。 しかしながら、Zend モニターが検出されない場合、NULL ロガーとして単純に動作するように設計されています。 ZendMonitorログ・ライタのインスタンス生成は特記するまでもありません。 それから、通常通り単純にメッセージを記録します。 info('This is a message'); ]]> イベントと共に記録する追加の情報を指定したい場合は、 2番目の引数でその情報を渡します。 info('Exception occurred', $e); ]]> 2番目の引数は、スカラー、オブジェクトまたは配列です。 情報の複数の部分を渡す必要があるならば、そうする最高の方法は連想配列を渡すことです。 info('Exception occurred', array( 'request' => $request, 'exception' => $e, )); ]]> Zend Server 内では、イベントは「カスタム・イベント」として記録されます。 「モニター」タブから「イベント」項目を選び、カスタム・イベントを見るために、「カスタム」上で絞り込みます。 Zend Server のモニター・ダッシュボードのイベント このスクリーン・ショットで、一覧表示される最初の2つのイベントは、 ZendMonitorログ・ライタを通して記録されるカスタム・イベントです。 関連した情報を全て見るには、イベントをクリックします。 Zend Server のモニターのイベント詳細 「カスタム」タブをクリックすると、ログ収集メソッドに2番目の引数を渡して記録した 追加の情報を全て詳しく表示します。 この情報は、info キーとして記録されます。 この例では、リクエスト・オブジェクトが記録されることを確認できます。 Zend_Application との統合 zf.shzf.bat コマンドは、デフォルトで Zend_Application ログ・リソース用の構成を追加します。 そして、それは ZendMonitor ログ・ライタ用の構成を含みます。 さらに、ErrorController は、アプリケーション例外を記録するために 構成されたロガーを使います。それは、デフォルトでZend モニター・イベント統合とともに提供します。 前述のように、モニター APIPHP インストールで検出されない場合、 ロガーは単純に NULL ロガーとして動作します。