我想为Laravel系统制作一个完整的日志,记录用户执行的操作或用户所走的任何地方。现在,我在系统上使用Spatie Activity日志,我想知道是否有任何关于Elasticsearch的可能性或教程。
因为我听说,最好将日志保存在ELK上,这是一种最佳做法,特别是在日志中要存储大量数据的时候,并且因为我想记录被调用的每个API。另外,我不想为每个部分编写日志,因此,如果有任何方式Laravel自动记录所有动作本身,例如.NET Core和SQL Server的方式。
答案 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和他们查看的页面