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


Posted in PHP onOctober 11, 2019

1 . 创建一个中间件

执行: php artisan make:middleware OperationLog

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

<?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

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class OperationLog extends Model
{

  //定义表
  protected $table = "operation_log";

  //定义主键
  protected $primaryKey = "id";
}

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

/**
 * The application's global HTTP middleware stack.
 *
 * 这些中间件是在对应用程序的每次请求中运行的
 *
 * @var array
 */
protected $middleware = [
    .......,
    .......,
    .......,
    \App\Http\Middleware\OperationLog::class,
  ];

大功告成…

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

PHP 相关文章推荐
Win9x/ME下Apache+PHP安装配置
Oct 09 PHP
Linux下将excel数据导入到mssql数据库中的方法
Feb 08 PHP
PHP XML数据解析代码
May 26 PHP
解析PHP处理换行符的问题 \r\n
Jun 13 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
Jul 12 PHP
Yii数据模型中rules类验证器用法分析
Jul 15 PHP
PHP小偷程序的设计与实现方法详解
Oct 15 PHP
浅谈PHP安全防护之Web攻击
Jan 03 PHP
phpMyAdmin无法登陆的解决方法
Apr 27 PHP
form自动提交实例讲解
Jul 10 PHP
PHP-X系列教程之内置函数的使用示例
Oct 16 PHP
laravel 获取当前url的别名方法
Oct 11 #PHP
解决PHP curl或file_get_contents下载图片损坏或无法打开的问题
Oct 11 #PHP
解决PHP使用CURL发送GET请求时传递参数的问题
Oct 11 #PHP
ThinkPHP 5.1 跨域配置方法
Oct 11 #PHP
零基础php编程好学吗
Oct 11 #PHP
Laravel获取当前请求的控制器和方法以及中间件的例子
Oct 11 #PHP
PHP与SQL语句写一句话木马总结
Oct 11 #PHP
You might like
set_include_path和get_include_path使用及注意事项
2013/02/02 PHP
php按百分比生成缩略图的代码分享
2014/05/10 PHP
ThinkPHP验证码和分页实例教程
2014/08/22 PHP
PHP借助phpmailer发送邮件
2015/05/11 PHP
javascript innerText和innerHtml应用
2010/01/28 Javascript
Javascript 函数中的参数使用分析
2010/03/27 Javascript
js压缩工具 yuicompressor 使用教程
2010/03/31 Javascript
ASP.NET jQuery 实例16 通过控件CustomValidator验证RadioButtonList
2012/02/03 Javascript
JavaScript Array对象扩展indexOf()方法
2014/05/09 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
bootstrap datetimepicker日期插件超详细使用方法介绍
2017/02/23 Javascript
微信小程序滚动Tab实现左右可滑动切换
2017/08/17 Javascript
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
js前端导出Excel的方法
2017/11/01 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
Node.js readline 逐行读取、写入文件内容的示例
2018/03/01 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
es6中使用map简化复杂条件判断操作实例详解
2020/02/19 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
[04:40]DOTA2-DPC中国联赛1月26日Recap集锦
2021/03/11 DOTA
Python ljust rjust center输出
2008/09/06 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
Python模块、包(Package)概念与用法分析
2019/05/31 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
python中plt.imshow与cv2.imshow显示颜色问题
2020/07/16 Python
Python利用myqr库创建自己的二维码
2020/11/24 Python
sklearn中的交叉验证的实现(Cross-Validation)
2021/02/22 Python
HelloFresh澳大利亚:订购你的美味食品盒、健康餐食
2018/03/28 全球购物
英国空调、除湿机和通风设备排名第一:Air Con Centre
2019/02/25 全球购物
实体的生命周期
2013/08/31 面试题
最新大学生自我评价
2013/09/24 职场文书
公司离职证明范本
2014/01/13 职场文书
大学班长的职责
2014/01/27 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
员工年终考核评语
2014/12/31 职场文书