调试

框架中有两种调试方式,一种是在页面控制台中输出的调试,方便用户对应网页调试。

另一种则是和其他框架一样,在日志中调试

控制台调试

KaliPHP 的一大特色既是这控制台调试方式,通过Chrome logger扩展,用户可以调试自己想要的数据,同时也不会对当前的页面结构产生影响。

调试的开关在/web/index.php

扩展安装地址:https://chrome.google.com/extensions/detail/noaneddfkdjfnfdakjjmocngnfkfehhd

// console调试开关,关闭后控制台不会输出内容
defined('SYS_CONSOLE') or define('SYS_CONSOLE', true);

控制台调试的方式,同步异步都可以调试,因为调试信息是在http header信息里面,所以异步ajax的请求也会把调试信息输出在控制台里了,并不会污染json数据。

调试方式很简单,全局可以调用log::info($message, $context),另外还有warn,error,debug等

第一个参数为想要调试的内容,同时也支持数组,Object类的输出。第二个参数为信息扩展,一般是信息分类,比如:SQL Error、IP地址、当前调用方法__method__,然后通过grep即可进行日志筛选查询:grep -rIn "SQL Query" debug.log

log::info()消息 输出

log::notice()提示 输出

log::debug()调试 输出

log::warning()警告 输出

log::error()异常 输出

下面是一个简单例子,和控制台的输出结果。结果会因为浏览器不一样而样式不同,效果上是一样的。

另外log调试类中还支持time,memory的输出,信息会输出到debug.log,可以使用其对代码性能做优化。

日志调试

平台的日志目录在data/log/,请确保该目录有写权限

记录会生成在{错误类型}.log文件中,如:info.logdebug.logwarn.logerror.log

系统程序错误也都会在error日志中显示,如页面出现500时可在错误日志中查看定位

Last updated

Was this helpful?