gpt4 book ai didi

实现laravel 插入操作日志到数据库的方法

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章实现laravel 插入操作日志到数据库的方法由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1 . 创建一个中间件 。

执行: php artisan make:middleware OperationLog 。

2 . 在中间件中编写一个writeLog() 或者直接写在handle里面 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<?php
 
namespace App\Http\Middleware;
 
use App\User;
use Closure;
use Illuminate\Support\Facades\Auth;
 
class OperationLog
{
   /**
    * Handle an incoming request.
    *
    * @param \Illuminate\Http\Request $request
    * @param \Closure $next
    * @return mixed
    */
   public function handle( $request , Closure $next )
   {
     $input = $request ->all(); //操作的内容
     $path = $request ->path(); //操作的路由
     $method = $request ->method(); //操作的方法
     $ip = $request ->ip(); //操作的IP
     $usernum = $request ->usernum; //操作人(要自己获取)
     self::writeLog( $usernum , $input , $path , $method , $ip );
 
     return $next ( $request );
   }
   public function writeLog( $usernum , $input , $path , $method , $ip ){
 
     $user = User::where( 'usernum' , $usernum )->first();
 
     if ( $user ) {
       $user_id = $user ->userid;
     }
 
     $log = new \App\Models\OperationLog();
     $log ->setAttribute( 'user_id' , $user_id );
     $log ->setAttribute( 'path' , $path );
     $log ->setAttribute( 'method' , $method );
     $log ->setAttribute( 'ip' , $ip );
     $log ->setAttribute( 'input' , json_encode( $input , JSON_UNESCAPED_UNICODE));
     $log ->save();
   }
}

3 .创建一个OperationLog模型(这里我放在Models文件夹下了) 。

执行 : php artisan make:model Models\OperationLog 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
namespace App\Models;
 
use Illuminate\Database\Eloquent\Model;
 
class OperationLog extends Model
{
 
   //定义表
   protected $table = "operation_log" ;
 
   //定义主键
   protected $primaryKey = "id" ;
}

4 . 将中间件注册到Kernel.php 文件 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
/**
  * The application's global HTTP middleware stack.
  *
  * 这些中间件是在对应用程序的每次请求中运行的
  *
  * @var array
  */
protected $middleware = [
     .......,
     .......,
     .......,
     \App\Http\Middleware\OperationLog:: class ,
   ];

大功告成… 。

以上这篇实现laravel 插入操作日志到数据库的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我.

原文链接:https://blog.csdn.net/qq_26282869/article/details/81808558 。

最后此篇关于实现laravel 插入操作日志到数据库的方法的文章就讲到这里了,如果你想了解更多关于实现laravel 插入操作日志到数据库的方法的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com