2017-02-17 6 views
0

私は現在プロジェクトに取り組んでおり、援助の手を差し伸べるために、php.iniファイルを変更してエラーを "php_errors.log"に記録しました。 PHPファイルがエラーを返したディレクトリ。PHPエラーログ - php.ini PHPエラーのためのユニークなファイル

私は、オンラインで検索した後に(おそらく私はこれを正確に言い表していないかもしれません)、さまざまなエラーのためにphp.iniファイルに一意のファイル名を設定する手段があるのだろうかと思っていました。

たとえば、account.phpと言ったときにエラーが発生した場合、iniファイルを介してエラーファイル "account_php_errors.log"を記録する方法はありますか?

答えて

0

アプリケーション内にカスタムエラーハンドラを作成できます。それはあなたのアプリが乱雑になりますので、私は、別のディレクトリにエラーログを維持するための目的を再考う http://php.net/manual/en/function.set-error-handler.php

:あなたはより多くの情報

// error handler function 
function myErrorHandler($errno, $errstr, $errfile, $errline) { 
// file_put_contents 
} 

set_error_handler("myErrorHandler"); 

ここからすべての必要な詳細情報を得ることができる必要があります。別のフォルダだけからのログをグレープすることはあまり便利ではありません。また、logseashのようなログ監視ツールをelasticsearchとともに追加したい場合は、より複雑な設定を行う必要があります。

+0

返信とコードサンプルをありがとう、私はもう少し見てみましょう。 –

1

php.iniを使用する方法はありません致命的なエラーを生成したphpファイルに基づいて複数のファイルにログする

register_shutdown_functionを使用して致命的なエラーを検出し、['file']の文字列を使用して個別のファイルにログして、get_last_errorの配列応答を取得することができます。

try/catch例外を使用してオブジェクト指向プログラミングを実践していた場合、いくつかのロギング方法を使用して個々のファイルにエラーを分類することができます。

+0

返信いただきありがとうございます、私はあなたが言及したものとは対照的に、カスタムエラー処理を詳しく見ていきますが、本当に知っておくと便利です。 –

2

あなたが

ini_set(「あるいはlog_errors」、1)「account.php」に以下の行を追加することができますことをオーバーライドしたい場合は、グローバルエラーファイルを設定することができますiniファイルから。

ini_set( "error_log"、 "/path/to/logfile.log");

error_log( "one error");

  • また、フレームワークを使用している場合は、ドキュメントをチェックしてエラーのカスタマイズ方法を確認できます。フレームワークは高度なロギングメカニズムを備えています。
+0

返信いただきありがとうございます、私はこれをさらに詳しく見ていきます。 –

1

php.iniファイル自体のオプションは、この柔軟性がありません(実際にはlogrotateなどの他のプログラムを効果的に適用できるようにするには実際には良い方法です)。アプリケーションを介して必要なものを達成することができます(フレームワークであれ、純粋にカスタムコードであれ)。 LinuxシステムやWindows上のイベントビューアーで検索している場合に必要なものだけをgrepすることができます。それは本当にあなたの特定のニーズが本当に何であるかにかかっています。

+0

返信いただきありがとうございます。カスタムエラーハンドラを見ていきます。 –

関連する問題