如何正确地将CakePHP的Debug Kit添加到报告工具中?

i5desfxk  于 2022-11-24  发布在  PHP
关注(0)|答案(1)|浏览(136)

我是新的调试工具包,花了这一天与研究它,看它的源代码,阅读它收集尽可能多的信息.即使我不是一个Maven关于这个插件,我想我已经准备好问一个问题在这里关于它.
文档链接:https://book.cakephp.org/debugkit/4/en/index.html
在处理一组相互关联的项目时,我被要求研究如何使用项目中已经存在的解决方案的模型来添加SQL调试器/日志记录器特性(希望与UI一起添加)。
在研究这个工具时,我发现它是CakePHP的Debug Kit,带有一些特定于项目的定制。
现在,把它引入我被问到的问题空间是一个有趣的问题,因为它是一个报告问题空间,其工作原理如下:

  • 用户设置所需的报告
  • 用户完成报表设置后,将完成该报表并发出生成该报表的命令
  • 报表进入报表队列
  • 一旦报告到达队列的头部,就会对其进行处理
  • 在处理它时,可能会执行许多SQL操作
  • 报表处理完成后,将在服务器上生成一个文件
  • 用户可以稍后访问他/她的报告
  • 它们在可下载的UI中显示为条目

我想分析和基准测试的是当报告位于队列的头部并正在处理时会发生什么情况。
尽管在这种情况下可能涉及许多物理服务器和不同的数据库,但从这个问题的Angular 来看,这种复杂性是无关紧要的,我很乐意处理它。让我们简化它,为了简单起见,假设我有一个reports表,每个报告都有自己的ID。
我想按如下方式使用Debug Kit:

  • 在生成报告时记录所有MySQL命令
  • 知道它要链接到的报表ID
  • 当我加载报告页面时,我希望有一些按钮或任何UI工具,我可以使用它们来打开一个对话框,其中显示基准测试/分析信息
  • 理想情况下,我希望为UI上显示的所有报告标题提供这样一个UI工具,如果我必须为此实现自己的UI,那么我很乐意这样做
  • 我还希望向此探查器/基准测试器添加自定义日志,例如报告状态通知或复杂操作已开始/完成的通知

我的问题如下:是否有一种方法可以在我上面描述的用例中使用Debug Kit?如果有,如何使用?

knpiaxh1

knpiaxh11#

原来

$connection->fullDebug = true;

启用SQL日志记录,之后

$connection->getLog(true);

会传回所有需要的信息。$connection必须是DboSource执行严修。

相关问题