CakePHP: 定制SQL日志记录

来源:互联网 发布:tv版安卓软件 编辑:程序博客网 时间:2024/05/19 23:16

数据表结构变更的时候,经常会出现数据保存/更新失败。

如果可以知道具体的sql语句,那么就很容易知道执行失败的原因。

有两种方式获取页面执行过程中调用的sql语句:

1)打开debug,添加sql_dump元素到你页面的layout最下面。

这样所有sql语句会被打印到你页面的最下面。

2)直接修改cake源文件中执行sql语句的函数:

cake/libs/model/datasources/dbo_source.php

        function execute($sql, $options = array()) {

            ......

           if($sql.contains('test') {

               $this->log($sql, 'test');

           }

            ......

       }

观察log文件内容:

tail -f /app/tmp/logs/test.log
原创粉丝点击