TP5: 日志记录改造——4

TP5的日志如果没有特别设置的话,只要出现错误就会记录在日志文件中。这种是没有做必要的,因为这样的话,LOG文件会特别大,而且有好多都是没有用的信息。下面我们对LOG日志进行改造只记录我们需要的信息。

还记得上一章中,异常封装中。看记录日志出现的位置,我们只记录未知错误,而一些用户引起的一些参数错误 ,我们在这里不记录。

class ExceptionHandler extends Handle
{
private $code;
private $msg;
private $errorCode;
public function render(Exception $e)
{
if($e instanceof BaseException){ //是否为BaseException继承类
$this->code =$e ->code;
$this->msg =$e ->msg;
$this->errorCode =$e ->errorCode;
}else{
if(config("app_debug")==true){ //如是开启调试,就走原来的方法
return parent::render($e);
}else{ //如是关闭调试,是未知错误,我们只需要统一回复
$this->code = 500;
$this->msg = 'sorry,we make a mistake. (^o^)Y';
$this->errorCode = 999;
$this->recodeErrorLog($e); //记录到日志中,这个下一节会讲
}

}
$request = Request::instance(); //参数实例
$result=[
"msg"=> $this->msg,
"errorCode" =>$this->errorCode,
"require_url"=>$request->url() //取出访问时的URL
];
return json($result,$this->code);
}

我们先找开config.php这个文件,找到日志存放的位置,我们顺着找到,可能会出现在REANTIME那个目录下面。

我们需要改路径的话,只需要在入口文件中定义一个常量。如图:

我们已经更改了日志存放的路径,那么我们要在我们需要的时候开启日志怎么办,我们先要在config.php这个文件把type关掉

那么我们现在是不能记录日志的了,因为我们把日志关了,现在我们要在ExceptionHandler开启日志,

  

当我们要记录日志时,我们只要调用这个方法就行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399866.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET使用免费开源类库操作Excel

2019独角兽企业重金招聘Python工程师标准>>> 自从上次找到NPOI之后,根据园友提供的线索以及Google,又找到了一些开源免费的类库,所以都简单体验了一遍。 主要找到以下类库: MyXls(http://sourceforge.net/projects/m…

信管网

https://www.cnitpm.com/

php CURL 发送请求详解

cURL可以使用URL的语法模拟浏览器来传输数据,因为它是模拟浏览器,因此它同样支持多种协议,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等协议都可以很好的支持,包括一些:HTTPS认证,HTTP…

JMS 消息处理

转载于:https://www.cnblogs.com/luswei/p/7504781.html

设计模式(单例)

单例模式是最简单的设计模式, 意图: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 适用性: 只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展的,并且客户…

牛刀小试、用SharePoint 实现请假管理功能

转:http://www.cr173.com/html/15518_1.html “请假管理”应用,应该算是 SharePoint 的“Hello World!”、川菜里面的鱼香肉丝、粤菜里面的蛋炒饭 。。。吧? 怎么样才能做出简易、实用的请假管理,一直都是都是一个问题…

js遍历json对象

原生js遍历json对象 遍历json对象&#xff1a; 无规律&#xff1a; <script> var json [ {dd:SB,AA:东东,re1:123}, {cccc:dd,lk:1qw} ]; for(var i0,ljson.length;i<l;i){ for(var key in json[i]){ alert(key:json[i][key]); } } </script> 有规律&…

JS-封装js让一个div或者img的移动

/* * 运动函数 * 参数&#xff1a; * elem 操作的元素节点 * obj 操作的元素节点上的css属性和css属性值 * attr 操作的元素节点上的css属性 * target 操作的元素节点上的css属性的目标值 * fn 运动结束后的所要执行的函数 */function startMove(elem, obj, fn){ // 开定时器 …

linux如何查看mysql是否启动

linux下有很多服务&#xff0c;今天就写一下如何查看服务是否启动&#xff0c;以mysql为例子 使用命令 # service mysqld status 或者 # service mysql status 命令来查看mysql 的启动状态 如果是 mysqld is stopped 那就说明mysql服务是停止状态&#xff0c; 如果是 mysqld is…

django时区设置问题

2019独角兽企业重金招聘Python工程师标准>>> 最近用Django开发项目&#xff0c;在使用datetime类获取.now()时&#xff0c;获取的时间比实际时间相差8小时左右&#xff08;感觉是UTC时间&#xff09;&#xff0c;服务器使用的时区是“Asia/Shanghai”&#xff08;08…

js文件中声明的一个json对象, 在另一个js文件中可以直接使用。

1. 如在 AAA.js 文件中声明一个json对象。 var world_geo_json {"type":"FeatureCollection","offset":{"x":170,"y":90},"features":[ ] }; 2. 调用。 <html lang"en"> <head> &l…

Objective-C模版方法(TemplateMethod)

什么是模版方法&#xff1f; 官方&#xff1a;定义一个操作中的算法的骨架&#xff0c;而将一些步骤延迟到子类中。模版方法使子类可以重新定义算法的某些步骤而不改变算法的结构。 个人理解&#xff1a;模版方法没必要刻意去理解&#xff0c;平时的编码过程中不知不觉就会用到…

微信小程序+TP5——token令牌生成

token令牌的作用&#xff1a;客户端每次登录服务器端都会生成一个唯一的token令牌值&#xff0c;并返回到客户端&#xff0c;而服务器端会默认将token令牌值作为key, 用户信息作为value&#xff0c;一一对应存入缓存中&#xff0c;当用户每一次发送请求时&#xff0c;都要携带这…

vs code 代码格式化整理

On Windows Shift Alt F On Mac Shift Option F On Ubuntu Ctrl Shift I 但是自带的格式化并不能满足我的需求&#xff0c;这个时候&#xff0c;不得不说插件大法好。 1、代码格式化为eslint风格&#xff08;参考自这里&#xff09; 需要插件&#xff1a;eslint 在设置…

基于live555实现的RTSPServer对底层进行性能优化的方法

在博客《EasyIPCamera高性能摄像机RTSP服务器RTSPServer解决方案》我介绍了基于live555实现的一套RTSPServer功能组件&#xff0c;当时开发者经过几个月的调试&#xff0c;已经将底层的性能调试到了一个业界非常优秀的程度&#xff0c;主要优化的几点&#xff1a; 发送优化调度…

sqlite 字符串 转 整型 cast 函数 (强制类型转换 )

sqlite 字符串 转 整型使用 cast 函数 语法&#xff1a; cast(col_name as type) 例子&#xff1a; 表&#xff1a;JobInfo 表内字段&#xff1a;Salary 薪水 select * from JobInfo where cast(substr(Salary,1,5)as int)>10000 结果集&#xff1a; 转载于:https://www.cn…

2018.2.2PHPstrom破解版

--------------------- 作者&#xff1a;聽の雨ぷ 来源&#xff1a;CSDN 原文&#xff1a;https://blog.csdn.net/qq_39439751/article/details/82758330 版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请附上博文链接&#xff01; 首先将我为大家事先准备好的打…

python-上传下载文件

https://www.cnblogs.com/jessicaxu/p/7891372.html python-上传下载文件 一、服务端接口 import flask, os,sys,time from flask import request, send_from_directoryinterface_path os.path.dirname(__file__) sys.path.insert(0, interface_path) #将当前文件的父目录加…

Quartz.net 2.0的使用说明

Quartz.NET是一个开源的作业调度框架&#xff0c;是OpenSymphony 的 Quartz API的.NET移植&#xff0c;它用C#写成&#xff0c;可用于WinForm和ASP.NET应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而 创建简单的或复杂的调度。它有很多特征&#x…