登录日志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 intousers
(更新时间
,创建时间
)值(2017-03-22 18:40:22, 2017-03-22 18:40:22))