[置顶] ThinkPHP 集成FIREPHP 呵呵

22 篇文章 0 订阅
21 篇文章 0 订阅
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'),  // 允许记录的日志级别

日志级别可以自增减 呵呵
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值