ThinkPHP 日志(如何学好一门技术,教学视频和文档的优缺)

一、总结

一句话总结:教学视频中介绍的只是基础的最常用的使用,那些不常用的那些视频里面都不会介绍,因为需求小,所以还是需要好好去把参考文档看完

教学视频只是常用知识-不完整 多去看参考文档

介绍 · ThinkPHP5.0完全开发手册 · 看云
https://www.kancloud.cn/manual/thinkphp5/118124

二、ThinkPHP 日志

参考:ThinkPHP 日志 - 王宇walkOn - 博客园
https://www.cnblogs.com/wangyuman26/p/6579572.html

首先需要引入:

use Think\Log;

方式一: 简单

Log::record("== xxx更新失败 ==", 'DEBUG'); 

方式二:结合异常处理,记录异常的原因

// 结合异常处理,记录异常的原因
try { // 异常处理
if ($x === false) {
throw new Exception(“错误原因”);
}
} catch (Exception $ex) {
Log::record("== xxx更新失败 ==", 'DEBUG');
Log::record($ex->getMessage(), 'DEBUG');
}

方式三:定位日志位置,利用PHP魔术常亮  

Log::record(__FILE__ . "[" . __LINE__ . "L]" . " (发送短信通知" );

// ……

Log::record(__FILE__ . "[" . __LINE__ . "L]" . $sms_message );

说明:

  ①:日志的结果如下:F:\WWW\xxx\xxx\Application\Pay\Logic\OrderLogic.class.php[214L](方式短信通知)

  ②:__FILE__  =》 当前文件的完整路径和文件名  

  ③:__LINE__  =》 当前文件的行数  

数组的打印发送:

// 方式1:把数组编译成Json格式,打印
Log::record("微信服务器异步通知传来的数组:" . json_encode($data),'DEBUG'); // 方式2:打印数组 Log::record('微信服务器异步通知传来的数组:', 'DEBUG');
$log = print_r($data, true);
Log::record($log, 'DEBUG');
 

ThinkPHP 日志(如何学好一门技术,教学视频和文档的优缺)的更多相关文章

  1. GTAC 2015 的视频和文档已经放出

    视频见https://developers.google.com/google-test-automation-conference/2015/stream,文档见https://developers ...

  2. 本人讲课时录制的Android应用开发技术教学视频

    网盘地址:http://yun.baidu.com/pcloud/album/info?query_uk=1963923831&album_id=3523786484935252365 本人讲 ...

  3. JEECG 开源平台全视频和文档

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/26488439 jeecg v3.0入门 ...

  4. 马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)

    马哥linux运维初级+中级+高级 视频教程 教学视频 全套下载(近50G)目录详情:18_02_ssl协议.openssl及创建私有CA18_03_OpenSSH服务及其相关应用09_01_磁盘及文 ...

  5. Unity3D大风暴之入门篇(海量教学视频版)

    智画互动开发团队 编   ISBN 978-7-121-22242-9 2014年2月出版 定价:79.00元 328页 16开 编辑推荐 长达800分钟的高清教学视频,手把手教会初学者 数个开发案例 ...

  6. 500G !!史上最全的JAVA全套教学视频网盘分享 (JEECG开源社区)

    500 G JAVA视频网盘分享(JEECG开源社区) [涵盖从java入门到深入架构,Linux.云计算.分布式.大数据Hadoop.ios.Android.互联网技术应有尽有] JEECG开源社区 ...

  7. java秀发入门到优雅秃头路线导航【教学视频+博客+书籍整理】

    目录 一.Java基础 二.关于JavaWeb基础 三.关于数据库 四.关于ssm框架 五.关于数据结构与算法 六.关于开发工具idea 七.关于项目管理工具Mawen.Git.SVN.Gradle. ...

  8. java入门到秃路线导航,元芳你怎么看?【教学视频+博客+书籍整理】

    目录 一.Java基础 二.关于JavaWeb基础 三.关于数据库 四.关于ssm框架 五.关于数据结构与算法 六.关于开发工具idea 七.关于项目管理工具Mawen.Git.SVN.Gradle. ...

  9. 42套JavaScript深度解析教学视频!合集

    本文首发于:风云社区SCOEE(社区旨在普惠软件.图片.音乐.视频.素材.文档等互联网资源.为大众提供多样化的服务,以及主要涵盖学术科学.电脑技术.文化人文.体育健身等领域的知识和信息,获得用户的支持 ...

随机推荐

  1. 13:python-ldap

    1.1 python-ldap 基本使用 11111111111111111111

  2. linux tmux 工具使用 tmux.conf 文件

    set -g prefix ^a unbind ^b bind a send-prefix unbind '"' bind - splitw -v unbind % bind \ split ...

  3. VC++ 使用CreateProcess创建新进程

    https://www.cnblogs.com/fancing/p/6477918.html #include <windows.h> #include <tchar.h> # ...

  4. 前端 --- 6 jQuery 初始

    一.引入方式 1.直接下载文件到本地(最常用),从本地中导入 2.使用文件的网络地址,就像我们img标签里面的那个src的用法差不多. 引入完之后,就可以直接使用jQuery的语法来写了,但是还是要写 ...

  5. linux内核中的两个标记GFP_KERNEL和GFP_ATOMIC是用来干什么的?

    1. 作用 用来标记分配内核空间内存时的方式 2. 两个标记使用在什么场合? 如果内存不够时,会等待内核释放内存,直到可以分配相应大小的内存,也就意味着会发生阻塞,因此不能使用在中断处理函数中,而GF ...

  6. 1823: [JSOI2010]满汉全席 2-sat

    链接 https://www.lydsy.com/JudgeOnline/problem.php?id=1823 思路 建图,缩点tarjan 判断impossible 代码 #include < ...

  7. svn强制commit写log

    https://tortoisesvn.net/docs/nightly/TortoiseSVN_en/tsvn-howto-minlogmsgsize.html Force users to ent ...

  8. BZOJ4893: 项链分赃 && BZOJ4895: 项链分赃(增强版)

    Solution 神仙题.jpg 切一刀简单啊,维护一个前缀和. 切两刀简单啊,拿个队列维护中间那一段. 切三刀,这tm什么毒瘤题. 于是打开题解:"保证不会答案不会超过宝石种类" ...

  9. LuoguP1072 Hankson的趣味题

    题目 原题链接 题解 题意即为 \[ gcd(x,a0)=a1 \\ lcm(x,b0)=b1 \\ 求x个数 \] 根据\(lcm\)的求解方式\(lcm(a,b)=a*b/gcd(a,b)\)可以 ...

  10. PL/SQL Developer几个使用小技巧

    1.选中sql语句的当前行 鼠标连续点击所在行3次. 2.记住登陆密码 工具 -> 首选项 -> Oracle -> 登录历史,勾选“带口令存储”. 3.查看Oracle的tnsna ...