zoukankan      html  css  js  c++  java
  • laravel中间价中写操作日志

    利用中间件进行操作日志记录过程:

    1、创建中间件

    php artisan make:middleware AdminOperationLog

        1

    2、生成了文件./app/Http/Middleware/AdminOperationLog.php

    代码如下:

    <?php

    namespace AppHttpMiddleware;

    use Closure;
    use IlluminateHttpRequest;
    use IlluminateSupportFacadesAuth;
    use AppHttpModelsOperationLog;

    class AdminOperationLog
    {
        /**
         * Handle an incoming request.
         *
         * @param  IlluminateHttpRequest  $request
         * @param  Closure  $next
         * @return mixed
         */
        public function handle($request, Closure $next)
        {
            $user_id = 0;

    //依照自己的方式获取用户资料。
    //        if(Auth::check()) {
    //            $user_id = (int) Auth::id();
    //        }
            $_SERVER['admin_uid'] = $user_id;
            if('GET' != $request->method()){
                $input = $request->all();
                $log = new OperationLog(); # 提前创建表、model
                $log->uid = $user_id;
                $log->path = $request->path();
                $log->method = $request->method();
                $log->ip = $request->ip();
                $log->sql = '';
                $log->input = json_encode($input, JSON_UNESCAPED_UNICODE);
                $log->save();   # 记录日志
            }
            return $next($request);
        }
    }

    3、中间件引入 ./app/Http/Kernel.php

    注意     $middlewareGroups    为全局     $routeMiddleware为路由


    protected $middlewareGroups = [
            'web' => [
                ...
                AppHttpMiddlewareAdminOperationLog::class,
                ...
            ],

            'api' => [
                'throttle:60,1',
                'bindings',
            ],
        ];

  • 相关阅读:
    五分钟,让你明白MySQL是怎么选择索引《死磕MySQL系列 六》 咔咔
    MySQL统计总数就用count(*),别花里胡哨的《死磕MySQL系列 十》 咔咔
    C++类型转换:const_cast 和reinterpret_cast
    C++类型转换
    C++中*和&的用法
    CMake简介
    文件和流IO
    字节存储:大端字节和小端字节
    离线的Window 10无法安装.Net Framework 3.5的解决办法
    KeyTool 使用简介
  • 原文地址:https://www.cnblogs.com/zhanghuilong/p/11304350.html
Copyright © 2011-2022 走看看