登录日志laravel 5

时间:2017-03-21 21:32:10

标签: laravel logging

我想创建用户日志,但有些东西对我不起作用。

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()
            ]); 
        });
    }
}

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

1 个答案:

答案 0 :(得分:1)

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

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

在handle语句中监听事件是不正确的。该事件已被触发。

如果从handle方法中删除Event::listen,它应该可以正常工作。

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

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