laravel怎么記錄用戶操作日志?
laravel 怎么記錄用戶操作日志?
躍然一笑
2019-05-25 15:29:28
TA貢獻(xiàn)1895條經(jīng)驗(yàn) 獲得超3個(gè)贊
也許你是想要這種方式:namespaceApp\Http\Middleware;useClosure;useIlluminate\Http\Request;useIlluminate\Support\Facades\Auth;//每次請求都記錄下請求方式、請求地址、提交數(shù)據(jù)classOperationLog{publicfunctionhandle(Request$req,Closure$next){$user_id=0;if(Auth::guard('admin')->check()){$user_id=(int)Auth::guard('admin')->user()->id;}$input=$req->all();$log=new\App\Models\OperationLog();$log->setAttribute('user_id',$user_id);$log->setAttribute('path',$req->path());$log->setAttribute('method',$req->method());$log->setAttribute('ip',$req->ip());$log->setAttribute('input',json_encode($input,JSON_UNESCAPED_UNICODE));$log->save();return$next($req);}}
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個(gè)贊
一個(gè)記錄用戶操作數(shù)據(jù)庫日志的方法,在Providers/AppServiceProvider.php的boot方法內(nèi)添加一下代碼:publicfunctionboot(){//\DB::listen(function($query,$binds){foreach($bindsas$bind){$query=preg_replace('/\?/','\''.$bind.'\'',$query,1);}\Log::info($query);});}然后在storage/logs文件夾下面的laravel.log查看具體的sql語句了。參考打印Laravel的SQL語句
舉報(bào)