2011年6月23日木曜日

Zend Framework-Zend_Log Zend_Debug Zend_Db_Profilerの使いどころ?

例外発生時などに
Zend_Log
http://www.4web8.com/2105.html 
http://framework.zend.com/manual/1.11/ja/zend.log.writers.html
  1. $writer = new Zend_Log_Writer_Stream('/path/to/logfile');
  2. $logger = new Zend_Log($writer);
  3. $logger->info('Informational message');
Zend_Log_Writer_Db は、 Zend_Db を使用してログ情報をデータベースに書き出します。 
Zend_Log_Writer_Firebug は、ログデータを » Firebug » コンソール に送信します。
Zend_Exception のログを記録するには、 単にその例外オブジェクトをロガーに渡すだけです。
Zend_Log_Writer_Mail は、 Zend_Mail を使ってログエントリをメールのメッセージに書き出します。
Zend_Log_Writer_Syslogは、 システムログ (syslog) にログ項目を書きます。


開発中のデバッグに
Zend_Debug
http://framework.zend.com/manual/ja/zend.debug.dumping.html

Zend_Db_Profiler
http://framework.zend.com/manual/1.11/ja/zend.db.profiler.html
  1. $profiler = $db->getProfiler();
これは、Zend_Db_Profiler オブジェクトのインスタンスを返します。 このインスタンスのさまざまなメソッドを使用することで、 クエリの内容を調べることができます。
  • getTotalNumQueries() は、 情報を取得したクエリの総数を返します。
  • getTotalElapsedSecs() は、 情報を取得したクエリの実行所要時間の合計を返します。
  • getQueryProfiles() は、 すべてのクエリ情報を配列で返します。
  • getLastQueryProfile() は、最後に (直近に) 実行されたクエリの情報を (そのクエリが 完了したか否かにかかわらず) 返します (クエリが完了していない場合は、終了時刻が NULL となります)。
  • clear() は、スタック上に残っている 過去のクエリ情報をすべて消去します。
getLastQueryProfile() の返り値、および getQueryProfiles() の個々の要素は Zend_Db_Profiler_Query オブジェクトで、 これを使用すると個々のクエリ自体の情報を調べられます。
  • getQuery() は、クエリの SQL テキストを返します。 パラメータつきのプリペアドステートメントの場合、 クエリがプリペアされた時点のテキストを返します。 つまり、プレースホルダを含んだままの形式ということです。 実行時に置き換えられた値を知ることはできません。
  • getQueryParams() は、 プリペアドクエリを実行する際に使用する、パラメータの値の配列を返します。 ここには、バインドパラメータだけでなく execute() メソッドへの引数も含まれます。 配列のキーは、(1 から始まる) 数値かあるいは (文字列の) パラメータ名となります。
  • getElapsedSecs() は、 クエリの実行所要時間を返します。
Zend_Db_Profiler の提供する情報は、 アプリケーションのボトルネックを調査したり クエリをデバッグしたりする場合に有用です。

0 件のコメント:

コメントを投稿