Firebug への書き込み
Zend_Log_Writer_Firebug は、ログデータを
Firebug
コンソール
に送信します。
すべてのデータの送信には Zend_Wildfire_Channel_HttpHeaders
コンポーネントを使用します。これは HTTP ヘッダを使用するので、
ページのコンテンツには何も影響を及ぼしません。
この方式なら、AJAX リクエストのようにクリーンな JSON
および XML レスポンスを要求するリクエストのデバッグも行えます。
要件:
Firefox ブラウザ。バージョン 3 が最適ですがバージョン 2 にも対応しています。
Firebug 拡張。
https://addons.mozilla.org/ja/firefox/addon/1843
からダウンロードできます。
FirePHP 拡張。
https://addons.mozilla.org/ja/firefox/addon/6149
からダウンロードできます。
Zend_Controller_Front を使ったログ記録
log('This is a log message!', Zend_Log::INFO);
]]>
Zend_Controller_Front を使わないログ記録
setRequest($request);
$channel->setResponse($response);
// 出力バッファリングを開始します
ob_start();
// ロガーをコールします
$logger->log('This is a log message!', Zend_Log::INFO);
// ログデータをブラウザに送ります
$channel->flush();
$response->sendHeaders();
]]>
優先度のスタイルの設定
組み込みの優先度やユーザ定義の優先度を使うには
setPriorityStyle() メソッドを使用します。
addPriority('FOO', 8);
$writer->setPriorityStyle(8, 'TRACE');
$logger->foo('Foo Message');
]]>
ユーザ定義の優先度用のデフォルトのスタイルを設定するには
setDefaultPriorityStyle() メソッドを使用します。
setDefaultPriorityStyle('TRACE');
]]>
サポートしているスタイルは次のとおりです。
Firebug Logging Styles
スタイル
説明
LOG
通常のログメッセージを表示します
INFO
情報ログメッセージを表示します
WARN
警告ログメッセージを表示します
ERROR
エラーログメッセージを表示し、Firebug のエラーカウントをひとつ増やします
TRACE
拡張スタックトレースつきのログメッセージを表示します
EXCEPTION
拡張スタックトレースつきのエラーログメッセージを表示します
TABLE
拡張テーブルつきのログメッセージを表示します
ログ記録用のデータの準備
任意の PHP の変数を組み込みの優先度でログに記録できますが、
特殊なログ形式を使う場合は、何らかの書式変換が必要となります。
LOG、INFO、WARN、ERROR
そして TRACE については特別な書式変換は不要です。
例外のログ記録
Zend_Exception のログを記録するには、
単にその例外オブジェクトをロガーに渡すだけです。
設定している優先度やスタイルにかかわらず、
例外は自動的に例外と判断されます。
err($exception);
]]>
表形式のログ
ログを表形式で記録できます。カラムは自動検出され、
データの最初の行がヘッダと見なされます。
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);
]]>