发送电子邮件以报告Handler.php中包含用户信息的错误

时间:2017-02-20 19:05:50

标签: php laravel laravel-5 laravel-5.3

当laravel有异常时,我会发送一封包含错误信息的电子邮件。但我想要包含错误时登录的用户信息。

在Handler.php中

<h3>Error Information</h3>
<p><strong>Date:</strong> {{ date('M d, Y H:iA') }}</p>
<p><strong>Message:</strong> {{ $e->getMessage() }}</p>
<p><strong>Code:</strong> {{ $e->getCode() }}</p>
<p><strong>File:</strong> {{ $e->getFile() }}</p>
<p><strong>Line:</strong> {{ $e->getLine() }}</p>
<h3>Stack trace:</h3>
<pre>{{ $e->getTraceAsString() }}</pre>

@if(Auth::user())
      <p><strong>   User: </strong> ID: {{Auth::user()->id}} / Name: {{Auth::user()->name}} / Email: {{Auth::user()->email}}</p>
@endif

在电子邮件/ errorreport.blade.php

Launch URL

它不起作用。

错误信息正确发送,但不是来自用户。即使我有用户登录了&#34; if(Auth :: user() )&#34;返回false。

1 个答案:

答案 0 :(得分:0)

使用check(),如果用户登录则返回true ... Auth :: user()返回用户对象...相反的是Auth :: guest(),如果用户是访客,则返回true ......

@if (Auth::check())
      <p><strong>   User: </strong> ID: {{Auth::user()->id}} / Name: {{Auth::user()->name}} / Email: {{Auth::user()->email}}</p>
@endif