0

カスタム例外ハンドラー(set_exception_handler()関数で設定)を使用して、未処理の例外が発生したときにユーザーに出力される内容を制御したいと思います。

残念ながら、この場合、例外はphpエラーログに記録されません。自動例外ログは完全に問題ないため、独自のログコードを記述したくありません。

問題は
、カスタム例外ハンドラーが実行された場合にPHPログ例外を(デフォルトで)作成する方法はありますか?いいえの場合、メインのphpエラーログファイルにログインする方法はありますか?

4

1 に答える 1

2

カスタム例外ハンドラーが実行された場合に(デフォルトで)PHPログ例外を作成する方法はありますか?

いいえ、PHPが提供するものからではありません(たとえばFALSE、コールバックで戻る)。

いいえの場合、メインのphpエラーログファイルにログインする方法はありますか?

error_logはい、そのためにドキュメント機能を使用できます。Exceptionドキュメントには、メッセージ、ファイル名、行番号が含まれている必要があります。手元にそのためのコードはありません。それ以外の場合は、追加/リンクしました。

多かれ少なかれ汚いトリック(ただし、元のファイル名と行番号が保持されるかどうかはわかりません)は、常にメモリに残る例外キャプチャオブジェクトを作成することです。キャッチされていない例外をキャプチャした場合、それを処理して保存します。破壊された場合(プロセスの最後に)、それを再スローすることができます。次に、PHPはそれを処理し、おそらくログに記録する必要があります。しかし、私はそれを実験的だと思います。

于 2012-06-02T22:55:24.557 に答える