登录日志laravel 5

登录日志laravel 5,laravel,logging,Laravel,Logging,我想创建用户日志,但有些东西不适合我 protected $listen = [ 'Illuminate\Auth\Events\Login' => [ 'App\Listeners\LogSuccessfulLogin', ], LogSuccessfulLogin.php class LogSuccessfulLogin { /** * Create the event listener. * * @param

我想创建用户日志,但有些东西不适合我

protected $listen = [
    'Illuminate\Auth\Events\Login' => [
        'App\Listeners\LogSuccessfulLogin',
    ],
LogSuccessfulLogin.php

class LogSuccessfulLogin
{
    /**
     * Create the event listener.
     *
     * @param  Request  $request
     * @return void
     */
    public function __construct(User $user)
    {
        $this->user = $user;
    }

    /**
     * Handle the event.
     *
     * @param  Login  $event
     * @return void
     */
    public function handle()
    { 
        Event::listen('auth.login', function ($user, $remember) { 
            $user->update([
                'last_login' => \Carbon\Carbon::now(),
                'ip_address' => \Request::ip()
            ]); 
        });
    }
}

我读了很多教程,但没有帮助

您告诉Laravel在此处列出登录事件:

protected $listen = [
    'Illuminate\Auth\Events\Login' => [
        'App\Listeners\LogSuccessfulLogin',
    ],
在handle语句中侦听事件是不正确的。事件已被触发

如果从handle方法中删除
事件::listen
,它应该可以工作

/**
 * Handle the event.
 *
 * @param  Login  $event
 * @return void
 */

public function handle()
{ 
    $this->user->update([
        'last_login' => \Carbon\Carbon::now(),
        'ip_address' => \Request::ip()
    ]); 
}

它仍然不工作,没有显示错误,但数据库未注册。您可能还需要保存用户<代码>$this->user->save()。如果不起作用,请执行以下操作:
Log::info($this->user)并发布日志显示的内容。我使用方法更新(),因此不必执行方法保存(),日志会说什么?如果我使用保存()SQLSTATE[HY000]:一般错误:1364字段“名称”没有默认值(SQL:insert into
users
更新时间
创建时间
)值(2017-03-22 18:40:22, 2017-03-22 18:40:22))