エラーが発生したURLがあるLARAVER 5のエラーログ -- laravel フィールド と logging フィールド と laravel-5.1 フィールド と error-logging フィールド と error-log フィールド 関連 問題

Error log on laravel 5 with the url where error occured












11
vote

問題

日本語

各エラーログに追加したい場合は、エラーが発生する前にユーザーが要求したページのURLを追加したい。ログはすでにエラーが発生する場所を教えてくださいが、URLを知っているのは貴重です。

私はhandler.phpファイルがあるのを見たが、そこでURLを追加するにはどうすればよいですか?

英語

I want to append to each error log, the url of the page the user requested before the error occured. The logs already give me where the error occurs, but it's valuable for me know the url.

I saw there is a Handler.php file but how can I append the url there?

</div
              

回答リスト

21
 
vote
vote
ベストアンサー
 

それは非常に単純です、あなたの app /例外/ handler.php この2つのインポートを追加:

<事前> <コード> use Request; use Log;

あなたのレポート方法でこれを追加します:

<事前> <コード> public function report(Exception $e) { Log::info($e->getMessage(), [ 'url' => Request::url(), 'input' => Request::all() ]); return parent::report($e); }

今すぐあなたが例外を取得するたびに現在のURL が記録され、 get または post のどちらかもログに記録されます: <コード> [2016-02-10 19:25:13] local.INFO: Error Processing Request {"url":"http://localhost:8002/list","input":{"name":"fabio","surname":"antunes"}}

 

It's quite simple, on your app/Exceptions/Handler.php on top the of it add this two imports:

use Request; use Log; 

Then on your report method add this:

public function report(Exception $e) {     Log::info($e->getMessage(), [         'url' => Request::url(),         'input' => Request::all()     ]);     return parent::report($e); } 

Now whenever you get an exception the current url is logged and the request parameters either GET or POST will also be logged:

[2016-02-10 19:25:13] local.INFO: Error Processing Request {"url":"http://localhost:8002/list","input":{"name":"fabio","surname":"antunes"}}  
</div
 
 
         
         
14
 
vote

これをするより良い方法:

app 例外 handler extend larvel's base context()関数: <事前> <コード> use Throwable; use IlluminateSupportFacadesAuth; use IlluminateSupportFacadesRequest; /** * Get the default context variables for logging. * * @return array */ protected function context() { try { return array_filter([ 'url' => Request::fullUrl(), 'input' => Request::except(['password', 'password_confirmation']), 'userId' => Auth::id(), 'email' => Auth::user() ? Auth::user()->email : null, ]); } catch (Throwable $e) { return []; } }
 

Even better way of doing this:

In AppExceptionsHandler extend Laravel's base context() function:

use Throwable; use IlluminateSupportFacadesAuth; use IlluminateSupportFacadesRequest;   /**  * Get the default context variables for logging.  *  * @return array  */ protected function context() {     try {         return array_filter([             'url' => Request::fullUrl(),             'input' => Request::except(['password', 'password_confirmation']),             'userId' => Auth::id(),             'email' => Auth::user() ? Auth::user()->email : null,         ]);     } catch (Throwable $e) {         return [];     } } 
</div
 
 
       
       
2
 
vote

app 例外 handler context()メソッドを拡張できます。この実装では、オリジナルのメソッドを保持し、データ配列を拡張するだけです。

<事前> <コード> protected function context() { try { $context = array_filter([ 'url' => Request::url() ]); } catch (Throwable $e) { $context = []; } return array_merge($context, parent::context()); }
 

You can extend context() method in AppExceptionsHandler. In this implementation, you keep original method and just expand the data array.

protected function context() {     try {         $context = array_filter([             'url' => Request::url()         ]);     } catch (Throwable $e) {         $context = [];     }      return array_merge($context, parent::context()); } 
</div
 
 

関連する質問

31  PHP ERROR_LOGが働いていません  ( Php error log not working ) 
これは1000回尋ねられています、そして私はこれを投稿する前にさまざまな投稿を閲覧しましたが、答えが見つかりませんでした。私がPHPで明壮されていた限り、これは常に仕事をするために悪夢でした。誰かが私がここで間違っていることを教えてください。 私はerror_...

0  私はPythonで入手または理解していないエラーログのコミングがあります  ( I have an error log comming which i am not getting or understand in python ) 
私のコードは正しく実行されています。ユーザーがBerkeley DBにデータを追加するコードがあります。私が私のエラーログをチェックしたとき、私はこのエラーがどういう意味なのかを理解していません。 ファイル権限DeneIDについてチェックされます。私は私のDB...

2  WordPressエラーログ - 10進数のみを表示します  ( Wordpress error log only displays decimal number ) 
私は開発しているWordPressサイトを持っています、そして私の php_errorlog はページがロードされるたびに次の行を登録します - [2016年10月30日01:20:03 UTC] 0.85 0.85を意味するのはわかりませんか?...

1  各仮想ホストのさまざまなSyslog機能にApacheエラーを記録する方法  ( How to log apache errors to different syslog facilities for each virtual host ) 
Apache 2.2.22(Ubuntu 12.04)で複数のVHOSTSが実行されている(Ubuntu 12.04)、各VHOSTエラーログを別々のrsyslogファイルに送信したい、 以下は構成です Apache Vhost <事前> <コード> <...

4  PHPが現在のVHOSTS 'Apacher VirtualHost Config Blockを読み取る/解析することは、errorlogとcustomlog設定を取得するには?  ( Possible for php to read parse the current vhosts apache virtualhost config blo ) 
PHPは、特にエラーログとカスタムログ設定を取得するために、現在のVHOSTS 'Apacher VirtualHost Configブロックを読み/解析/解析することができますか? クリアするには、取得が簡単なPHPエラーログパスを必要としません。 p...

12  Laravel 5 - デフォルトのログの場所を変更し、アプリの外側のログファイルを移動します。  ( Laravel 5 change default log location move log file outside the app ) 
デフォルトログファイルの場所<コード> <project-name>/storage/logs/laravel.log を /var/logs/<project-name>/laravel.log ?のようなものに変更する方法 ...

2  layoutlib.jarが見つかりません! :プラグイン "com.android.ide.eclipse.adt"  ( Layoutlib jar is missing plug in com android ide eclipse adt ) 
更新をインストールした後のXMLのグラフィカルレイアウトにエラーが発生しました。 SDKマネージャ ヘルプ - &gt;更新を確認する ヘルプ - &gt。新しいソフトウェアをインストールします... この問題から取り外す方法を教えて...

19  PHP - 警告のためのログスタックトレース?  ( Php log stacktrace for warnings ) 
PHP警告のためにStackTracesを記録することは可能ですか?または警告とerror_log()をキャッチしますか? 私のエラーログに警告を引き起こすいくつかのコードがありますが、スタックトレースを知らずにこれらの警告を引き起こしているものを知ることは...

17  ApacheのエラーログをPHPに解析する方法  ( How can i parse apaches error log in php ) 
私は、最新のエラーが最も重要なのかを確認するために、Apacheのエラーログを解析するスクリプトを作成したいです。私は誰でもこれを行うものを持っているか、どこに始まるアイデアがあるかどうか疑問に思いましたか? ...

1  PHP注意:未定義の索引:/var/.../script.phpのhttp_host 8行目  ( Php notice undefined index http host in var script php on line 8 ) 
この質問。唯一の違いは、回答の説明に従って$ _SERVERを使用していることです。 8行目は: <事前> <コード> if(strstr($_SERVER['HTTP_HOST'],'127.0.0.1')) 正確な条件付きの行59についても同じエラ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有