在 Kohana 3 中记录 MySQL 查询

发布于 2024-09-06 04:04:51 字数 146 浏览 6 评论 0原文

我正在使用 Kohana 3。我想记录应用程序正在执行的 MySQL 查询。之所以要确定正在进程中执行的 INSERT、UPDATE 和 DELETE 类型的查询,并将它们存储在另一个带有日期时间的 MySQL 表中以供进一步参考。

谁能告诉我如何实现这一目标?

I am using Kohana 3. I want to log the MySQL queries being executed by an application. The reason to determine the query of type INSERT,UPDATE and DELETE which are being executed in a process and store them in another MySQL table with date-time for further reference.

Can anybody tell how can I achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

莫言歌 2024-09-13 04:04:51

另一种方法是为数据库模块启用分析,这会将所做的查询记录到文件中。
这将记录所有查询,而不仅仅是最后一个查询;)

解析文件或扩展分析/日志记录/缓存类以将其保存到数据库应该不会太难。

An alternative is to enable profiling for the database module, which will log the queries made to a file.
This will log ALL queries, not just the last one ;)

It shouldn't be too hard to parse the file, or to extend the profiling/logging/caching classes to save it to a database.

ぽ尐不点ル 2024-09-13 04:04:51

抱歉,由于 Kohana 标签,我从错误的角度解决了这个问题。您希望 MYSQL 服务器直接记录命令,因此您可以获得所有命令,而不仅仅是最后一个命令。

请参阅有关日志记录的 mysql 服务器文档:
http://dev.mysql.com/doc/refman/5.0 /en/server-logs.html

Sorry, because of the Kohana tag I approached the problem from the wrong angle. You want the MYSQL server to log the commands directly, so you get ALL of the commands, not just the last one.

See the mysql server docs on logging:
http://dev.mysql.com/doc/refman/5.0/en/server-logs.html

月隐月明月朦胧 2024-09-13 04:04:51

我使用控制器的 after() 方法做到了这一点。执行每个控制器操作后,将执行此 after() 方法,我在其中编写逻辑来捕获最后执行的查询并将其存储在我的数据库中以供进一步参考。

I did this using after() method of the controller. After execution of each controller action this after() method is executed, where I wrote logic to capture last query executed and stored in my db for further reference.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文