六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 39|回复: 0

ThinkPHP 集成FIREPHP 呵呵

[复制链接]

升级  55.6%

242

主题

242

主题

242

主题

进士

Rank: 4

积分
778
 楼主| 发表于 2013-1-26 12:37:55 | 显示全部楼层 |阅读模式
TP的调试真的很傻很难用,要想输出trace信息,条件如下:1. APP_DEBUG 以及SHOW_PAGE_TRACE设置成true,2. action 必须有视图 才行在这里发挥了自己的想象终于把 firephp 集成进来了,哈哈哈,方法如下:[就是替换 ThinkPHP/Lib/Think/Core/Log.class.php] 类把 FirePHP.class.php 复制到 ThinkPHP/Lib/Think/Core 目录中,修改如下方法:[建议将原有文件备份哦,此仅作测试使用]static function record($message,$level=self::ERR,$record=false) {        if($record || in_array($level,C('LOG_RECORD_LEVEL'))) {            $now = date(self::$format);            self::$log[] =   "{$now} {$level}: {$message}\r\n";                    switch($level){    case self::DEBUG:    FirePHP::getInstance(true)->trace($message, $level);    break;    case self::INFO:    FirePHP::getInstance(true)->log($message, $level);    break;    case self::SQL:    FirePHP::getInstance(true)->info($message, $level);    break;    case self::NOTICE:    case self::WARN:    FirePHP::getInstance(true)->warn($message, $level);    break;    default:    FirePHP::getInstance(true)->error($message, $level);    break;    }        }    }对于 SQL的输出,因为 ThinkPHP/Lib/Think/Db/Db.class.php 里面第128行 对 调试参数写死了,必须将其 与 C('APP_DEBUG') 绑定,很费解,此处修改为 加一个自定义的,不与原有的相冲突..代码如下:if(C('APP_DEBUG') || C('LOG_RECORD_SQL'))在配置文件里面做如下选项,即可:'LOG_RECORD'=>true,  // 进行日志记录'LOG_RECORD_SQL'=>true,  // 进行日志记录'LOG_RECORD_LEVEL' => array('EMERG','ALERT','CRIT','ERR','WARN','NOTIC','INFO','DEBUG','SQL'),  // 允许记录的日志级别日志级别可以自增减 呵呵
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表