一个解决方案是编写一个helper函数,记录成功的插入/更新sql查询,如果你完全控制你的PHP应用程序的话。helper函数可以在插入/更新查询的每个示例上调用,记录sql查询的特性。例如,一些特性可以是表名、记录id、操作类型(即插入或更新)以及系统日期。 在我开发的模块中,这些特征是从原始sql查询中自动提取出来的,这是日志问题的一种解决方案。 Here is my working solution. See the repository's Readme file to see how to add the module to your PHP application 下面是它的工作原理: 1.我们将原始SQL查询传递给日志模块中的一个函数; 1.该函数将从查询中提取SQL特征; 1.它将保存所有功能到日志表中,我们已经在数据库中设置,以及系统日期和IP(其他功能也可以提取); 要查看记录的数据(作为已记录数据的界面): 1.我们在模块的前端调用main函数; 1.此主函数将获取其应返回的最新日志记录的数量作为参数; 1.它将整齐地呈现日志记录,例如,它将收集相同记录上的重复操作数到一个条目中。CSS样式可以根据需要进行调整。 1.使用显示/隐藏按钮可以最小化或恢复整个界面。
3条答案
按热度按时间jogvjijk1#
您已经使用了
laravel
标记,所以我假设您想找到一种"Laravel方式"来完成它。最佳实践是使用雄辩事件。
每次Laravel将命中DB时,它将尝试运行以下一些事件:
creating, created, updating, updated, saving, saved, deleting, deleted, restoring, restored
-ing
事件在命中DB之前使用,-ed
事件在命中DB之后立即使用。示例:
dwbf0jvd2#
仔细阅读本教程,我认为它适合你
http://web.stanford.edu/dept/its/communications/webservices/wiki/index.php/How_to_create_logs_with_PHP
hc8w905p3#
一个解决方案是编写一个helper函数,记录成功的插入/更新sql查询,如果你完全控制你的PHP应用程序的话。helper函数可以在插入/更新查询的每个示例上调用,记录sql查询的特性。例如,一些特性可以是表名、记录id、操作类型(即插入或更新)以及系统日期。
在我开发的模块中,这些特征是从原始sql查询中自动提取出来的,这是日志问题的一种解决方案。
Here is my working solution. See the repository's Readme file to see how to add the module to your PHP application
下面是它的工作原理:
1.我们将原始SQL查询传递给日志模块中的一个函数;
1.该函数将从查询中提取SQL特征;
1.它将保存所有功能到日志表中,我们已经在数据库中设置,以及系统日期和IP(其他功能也可以提取);
要查看记录的数据(作为已记录数据的界面):
1.我们在模块的前端调用main函数;
1.此主函数将获取其应返回的最新日志记录的数量作为参数;
1.它将整齐地呈现日志记录,例如,它将收集相同记录上的重复操作数到一个条目中。CSS样式可以根据需要进行调整。
1.使用显示/隐藏按钮可以最小化或恢复整个界面。