Codeigniter钩子未执行

jm2pwxwz  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(92)

我在codeigniter 3中创建了一个hook来记录所有的http请求,但是在发送一个http请求(如POST或GET)后没有记录。
我在config/config.php中启用了钩子配置:

$config['enable_hooks'] = TRUE;

字符串
并在config/hooks.php中添加了钩子:

$hook['post_controller_constructor'] = array(
    'class' => 'Http_request_logger',
    'function' => 'log_all',
    'filename' => 'http_request_logger.php',
    'filepath' => 'hooks',
    'params' => array()
);


我在application/hooks/http_request_logger.php中创建了一个钩子文件:

<?php 

if (!defined('BASEPATH')) exit('No direct script access allowed');

class Http_request_logger {

    public function log_all() {
        log_message('info', 'new request' . 'created from hook.');
        $CI = & get_instance();
        log_message('info', 'GET --> ' . var_export($CI->input->get(null), true));
        log_message('info', 'POST --> ' . var_export($CI->input->post(null), true));                
        log_message('info', '$_SERVER -->' . var_export($_SERVER, true));
    }

}

?>


但日志文件application/logs文件夹中没有任何内容。

iklwldmw

iklwldmw1#

经过研究,我意识到我必须在配置中做一些修改才能写日志。config/config.php

$config['log_threshold'] = 4;

$config['log_path'] = FCPATH . '/application/logs/';

字符串
在更改log_threshold和log_path后,我的代码工作正常。

相关问题