数据库逻辑,用于跟踪Web应用程序中的每个操作

时间:2013-11-13 09:29:18

标签: php mysql codeigniter

我正在开发一个Web应用程序。在我的应用程序中,我需要跟踪每个登录用户的每个操作。

我计划跟进以完成这项任务: -

  • 我将在mysql中创建存储过程。

  • 我将在每个表的insert,update上触发此过程 删除。

这对我来说是一项艰巨的工作。有人会以正确的方式指导我吗?

我正在使用基于 PHP Codeigniter 框架和 mysql 数据库。

请帮帮我

编辑: - 考虑到上述步骤,我无法开发。现在我处于困惑状态。那么有谁可以给​​我这个想法?

我需要的是 - 在用户登录后,跟踪该用户所做的每件事。

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

如果您掌控MySQL数据库,那么启用MySQL的查询日志将是最简单的解决方案。在my.cnf(e.q. on Debian /etc/mysql/my.cnf)中找到[mysql]部分,并将设置调整为:

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

然后使用(再次,Debian示例)sudo service mysql restart重新启动MySQL。

如果您正在处理MySQL< 5.1设置如下所示:

log = /var/log/mysql/mysql.log

如果需要从应用程序中读取日志数据,可以将日志转储到数据库表而不是文件中。为实现此目的,请在my.cnf部分的[mysqld]中添加以下行:

log_output = TABLE

然后,您可以使用

读取查询日志
SELECT * FROM mysql.general_log;

答案 1 :(得分:0)

如果您使用的是谷歌分析,您可以使用谷歌分析来跟踪您的登录用户所做的所有操作。请查看谷歌分析自定义变量和事件跟踪。点击Custom VariableEvent tracking