Thinkphp更改日志设置

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


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

<?php
/**
 * Created by PhpStorm.
 * User: Lin
 * Date: 2018/4/17
 * Time: 11:34
 */

namespace app\lib\exception;


use Exception;
use think\exception\Handle;
use think\Log;
use think\Request;

class ExceptionHandler extends Handle
{
    private $code;
    private $msg;
    private $errorCode;
    //返回客户端当前请求的URL路径
    public function render(Exception $e)
    {

        if($e instanceof BaseException){
            $this->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等级以上的错误。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值