seb*_*ola 9 logging error-logging error-log laravel laravel-5.1
我想附加到每个错误日志,即错误发生前用户请求的页面的URL.日志已经告诉我错误发生的地方,但是对我来说知道网址是有价值的.
我看到有一个Handler.php文件,但我怎么能在那里附加网址?
Fab*_*nes 18
这很简单,在你的app/Exceptions/Handler.php上添加这两个导入:
use Request;
use Log;
Run Code Online (Sandbox Code Playgroud)
然后在您的报告方法上添加:
public function report(Exception $e) {
Log::info($e->getMessage(), [
'url' => Request::url(),
'input' => Request::all()
]);
return parent::report($e);
}
Run Code Online (Sandbox Code Playgroud)
现在,只要您收到异常,就会记录当前的url,并且还会记录GET或POST请求参数:
[2016-02-10 19:25:13] local.INFO: Error Processing Request {"url":"http://localhost:8002/list","input":{"name":"fabio","surname":"antunes"}}
Run Code Online (Sandbox Code Playgroud)
fsa*_*ari 11
更好的方法是这样做:
在App\Exceptions\Handler中扩展了Laravel的基本context()函数:
use Throwable;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Request;
/**
* 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 [];
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4487 次 |
| 最近记录: |