Thinkphp更改日志设置

(1)在 public文件中的index定义LOG_PATH

Thinkphp更改日志设置_第1张图片

(2)重新编写thinkphp的handle的render(异常渲染方法),在异常处理层利用AOP思想

code=$e->code;
            $this->msg=$e->msg;
            $this->errorCode=$e->errorCode;

        }else{

            if(config('app_debug')){
                //return default error page
                return parent::render($e);
            }
            else{
                $this->code = 500;
                $this->msg ='服务器内部错误,无法告知你';
                $this->errorCode = 999;
                $this->recordErrorLog($e);
            }

        }

        $request = Request::instance();
        $result= [
            'msg'=>$this->msg,
            'errorCode'=>$this->errorCode,
            'request_url'=>$request->url(),

        ];
        return json($result,$this->code);

    }

    private function recordErrorLog(Exception $e){
        Log::init([
            'type'=>'File',
            'path'=>LOG_PATH,
            'level'=>['error']
        ]);
        Log::record($e->getMessage(),'error');
    }
} 

其中recordErrorLog方法中设置了只保留error等级以上的错误。


你可能感兴趣的:(php)