向laravel添加日志系统

时间:2019-07-28 11:41:15

标签: php laravel elasticsearch logging

我想为Laravel系统制作一个完整的日志,记录用户执行的操作或用户所走的任何地方。现在,我在系统上使用Spatie Activity日志,我想知道是否有任何关于Elasticsearch的可能性或教程。

因为我听说,最好将日志保存在ELK上,这是一种最佳做法,特别是在日志中要存储大量数据的时候,并且因为我想记录被调用的每个API。另外,我不想为每个部分编写日志,因此,如果有任何方式Laravel自动记录所有动作本身,例如.NET Core和SQL Server的方式。

1 个答案:

答案 0 :(得分:0)

在用户中间件中,通常您会return $next($request);处添加代码,该代码也将请求数据插入日志表中。

例如:

public function handle($request, Closure $next)
{
    $user = Auth::user();

    if($user)
        UserLog::create([
            'user_id' => Auth::id(),
            'action' => request()->route()->getActionName()
        ]);
        return $next($request);
    }
}

这会将行插入到表(由UserLog模型标识)中,其中包含用户的ID和他们查看的页面

相关问题