さまざまな情報を記録することで、開発時・あるいは運用時に後々役に立つかも知れません。
開発時に、この変数の値が確認できればおかしな挙動を解明するヒントになる・・ といったことがあります。 そういうときにこれが便利に使えるかも知れません。 setFormatter($formatter); $logger = new Zend_Log(); $logger->addWriter($writer); $logger->info(Zend_Debug::dump($logger, null, false)); // 適当に変数をデバッグしてみる これはZend_Debugだけを使って書くこともできる。 静的メソッドZend_Debug::dump()の実体はPHP組み込みのvar_dump()関数で、htmlspecialchars()に通して<pre>タグで囲んでるだけ ではZend_Logの存在意義を考えてみます。 以下のようにライターオブジェクトをヌルにすり替えてみます。すると、 $writer = new Zend_Log_Writer_Stream('php://output'); ↓ $writer = new Zend_Log_Writer_Null(); $logger->info(Zend_Debug::dump($logger, null, false));を記述した箇所が表示をしなくなります。 これはスタブと呼ばれるもので、テスト時は表示させて稼動時は抑制するといった使い方ができます。 今のところこれぐらいしか思いつきません。
開発時に、この変数の値が確認できればおかしな挙動を解明するヒントになる・・ といったことがあります。
そういうときにこれが便利に使えるかも知れません。
これはZend_Debugだけを使って書くこともできる。
静的メソッドZend_Debug::dump()の実体はPHP組み込みのvar_dump()関数で、htmlspecialchars()に通して<pre>タグで囲んでるだけ
ではZend_Logの存在意義を考えてみます。
以下のようにライターオブジェクトをヌルにすり替えてみます。すると、
$logger->info(Zend_Debug::dump($logger, null, false));を記述した箇所が表示をしなくなります。
これはスタブと呼ばれるもので、テスト時は表示させて稼動時は抑制するといった使い方ができます。
今のところこれぐらいしか思いつきません。
log("Message String", Zend_Log::INFO); // 優先度と同名のメソッドを使えば、記述がより簡単に $logger->info(implode("\t", $_SERVER['REQUEST_URI'], $_SERVER['HTTP_USER_AGENT']) . "\r\n"); アクセスログなので、これ以外にもホスト名、リファラー等の保存が考えられます。 これを見て思うことは、PHP組み込みのerror_log()関数を使った方がこの場合はシンプルであるということ。。
アクセスログなので、これ以外にもホスト名、リファラー等の保存が考えられます。
これを見て思うことは、PHP組み込みのerror_log()関数を使った方がこの場合はシンプルであるということ。。