3

Zend Framewrokアプリケーション(バージョン1.11)、すべてのリクエストのログ記録についてサポートが必要です。

リクエストを開始する時間とリクエストを実行する時間を知る必要があります。データベースに保存したい各リクエストですが、これらの情報をどこで取得できるかわかりません。

リクエストの開始は、おそらくいくつかの_initメソッドを介してbootstrap.phpでキャッチできます。しかし、データベースに接続する必要がある場合、実行終了要求に関する情報をどこに保存する必要がありますか?さらに、コントローラーで$ this-> _ redirector-> gotoSimpleAndExit()を使用していますが、その場合はカウントする必要があります。ビューはレンダリングされず、リクエストはexit()関数で終了します。

リクエストごとに1回だけログ情報を書き込みたいのですが。

手伝ってくれてありがとう!

4

2 に答える 2

1

シャットダウン機能の登録は非常に役立ちました。 http://php.net/manual/en/function.register-shutdown-function.php

カスタムロガー(シングルトンパターン)を作成しました。これはブートストラップで呼び出しています。php5.4が利用可能であるため$_SERVER['REQUEST_TIME_FLOAT']。ロガーは、自分のメソッドをコンストラクターのシャットダウン関数として登録し、デストラクタでも呼び出します。シャットダウン機能の複数回の呼び出しが防止されます。

このソリューションは、exit()関数が呼び出されても機能します。

于 2012-06-16T11:00:35.213 に答える
0

私のプロジェクトの1つでは、「実行の終了」ログコードをレイアウトスクリプトに入れています。これは、実行される「最後の」ものの1つであると想定されています。

ただし、このプロジェクトではリダイレクトを使用していません。したがって、「gotoSimpleAndExit()」の場合を考慮するためにどのように拡張する必要があるのか​​わかりません。

お役に立てば幸いです。

于 2012-06-15T07:13:51.013 に答える