Codeigniter查询时间和自定义文件日志记录

fed*_*sas 3 php mysql benchmarking codeigniter

我正在使用Codeigniter 1.7.3开发一个应用程序(是的,我知道有一个新版本,但我只是懒得更新).

我注意到Codeigniter内置分析器输出查询时间.我想访问这些时间并为每个查询和每个查询时间编写一个自定义日志文件.要访问查询,我可以使用$ this-> db-> last_query().

有没有办法在不破解核心的情况下访问这些查询时间?除了系统日志Codeigniter blundles之外,还有任何库可以写日志吗?

谢谢!

fed*_*sas 10

好吧,我明白了.我设置了一个像这样的钩子:

//config/hooks.php

$hook['display_override'][] = array(
        'class' => '',
        'function' => 'log_queries',
        'filename' => 'log_queries.php',
        'filepath' => 'hooks'
);

//hooks/log_queries.php

function log_queries() {
    $CI =& get_instance();
    $times = $CI->db->query_times;
    foreach ($CI->db->queries as $key=>$query) {
        log_message('debug', "Query: ".$query." | ".$times[$key]);
    }
}

我希望它对某人有所帮助!

  • 老兄你忘了`$ CI-> output - > _ display();`.我的所有页面都是空白的. (3认同)