CakePHP如何全局记录API请求?
我有一个基于CakePHP的API,名为AccessLogController的控制器负责将access日志保存到数据库中 问题是: 在CakePHP中全局登录的最佳实践是什么 我想我将在过滤器回调之前从继承的AppController调用AccessLogController方法,如下所示:CakePHP如何全局记录API请求?,cakephp,logging,global,Cakephp,Logging,Global,我有一个基于CakePHP的API,名为AccessLogController的控制器负责将access日志保存到数据库中 问题是: 在CakePHP中全局登录的最佳实践是什么 我想我将在过滤器回调之前从继承的AppController调用AccessLogController方法,如下所示: public function beforeFilter() { $accessLogCtrl = new AccessLogsController(); $access
public function beforeFilter() {
$accessLogCtrl = new AccessLogsController();
$accessLogCtrl->add($param1, $param2);
}
但我不确定这是不是一个好方法
非常感谢您的建议。这不是您应该使用控制器的方式,永远不要,除非是在您的测试套件中 也就是说,使用
AppController::beforeFilter()
全局记录控制器操作请求通常是可以的,只要确保在覆盖扩展控制器中的筛选器时始终调用parent::beforeFilter()
但是,您必须将日志功能重构为实用程序类、组件、模型,甚至直接重构为
AppController
,这取决于它实际的日志记录方式,如果您需要在AppController
以外的地方使用它,请提供一些示例代码,如何在对API的每个请求中使用它?@redrom我对您的应用程序的内部结构一无所知,那么除了您已经在这里显示的代码之外,您希望我如何编写其他代码,即beforeFilter()
回调?