CakePHP如何全局记录API请求?

时间:2014-07-23 15:26:54

标签: cakephp logging global

我有一个基于CakePHP的API,名称为AccessLogController的控制器负责将访问日志保存到数据库中。

问题是:

CakePHP中全局日志记录的最佳实践是什么?

我以为我会在过滤器回调之前从继承的AppController调用AccessLogController方法,如下所示:

 public function beforeFilter() {
        $accessLogCtrl = new AccessLogsController();
        $accessLogCtrl->add($param1, $param2);
    }

但我不确定这是怎么做的好方法..

非常感谢您的任何建议..

1 个答案:

答案 0 :(得分:0)

除了你的测试套件之外,你不应该如何使用控制器!

话虽如此,使用AppController::beforeFilter()全局记录控制器操作请求通常很好,只要确保在覆盖扩展控制器中的过滤器时始终调用parent::beforeFilter()

但是,您绝对应该将日志记录功能重构为实用程序类,组件,模型,甚至直接重构为AppController,具体取决于它实际记录的内容,以及是否需要在AppController以外的地方使用它。