我需要从许多使用SQLite的应用程序中记录查询,不仅插入/更新/删除,还可以选择其他查询。在这种情况下,向应用程序引入日志记录在实践中不是一个可行的解决方案。那么如何在SQLite中启用查询日志?SQLite的SQL查询日志记录?
回答
看看sqlite Trace API。你必须自己实现回调。
void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
通过
sqlite3_trace()
注册的回调函数在不同的时间被调用时SQL语句是由sqlite3_step()
运行。当语句首先开始执行时,回调将返回SQL语句文本的UTF-8呈现。当输入每个触发的子程序时会发生额外的回调。
好的,所以你基本上说我需要编写日志记录代码。我想知道是否有人已经这样做了,对于这样的常见用例? – 2009-10-22 14:04:34
您必须编写COMMAND来调用**内置**跟踪机制。 – 2009-10-22 14:15:01
sqlite3_trace api不会显示绑定。如果你使用包装类,你可能想要自己记录sql语句和参数。 – eodonohoe 2009-10-22 14:53:08
- 1. Hibernate查询(不是SQL)日志记录
- 2. Zend启用SQL查询日志记录
- 3. Oracle SQL查询日志记录
- 4. CakePHP中的MySQL查询日志记录
- 5. ServiceStack OrmLite查询日志记录
- 6. laravel禁用查询日志记录
- 7. Cassandra OpsCenter缓慢查询日志记录
- 8. 禁用Spring批量SQL查询的日志记录
- 9. 适用于SQL中日志记录表的查询和索引
- 10. SQL Server日志记录失败的查询
- 11. PostgreSQL对.sql脚本的查询/错误日志记录
- 12. 使用注释的iBatis - SQL查询日志记录
- 13. 将DEBUG设置为False的日志记录Django SQL查询
- 14. Development.log日志文件不记录Rails的SQL查询
- 15. 用于日志记录的SQLite跟踪
- 16. 慢查询日志中记录更快的查询日志文件中
- 17. RoR:在生产日志中记录SQL查询
- 18. mysql的慢查询日志记录是查询速度更快
- 19. 在查询繁重的网站查询日志记录情况
- 20. 使用SQLite进行日志记录
- 21. MySQL慢速查询日志记录快速查询
- 22. SQL Server - 查询日志?
- 23. Java日志记录:它是日志还是日志记录器?
- 24. MySQL - 事务日志记录 - binlog?一般查询日志?登录到数据库?
- 25. 在SQLite中启用查询日志3
- 26. Websphere 6.1中的SQL日志记录
- 27. SQL Server的dml错误日志记录
- 28. ADO.net中的SQL事件日志记录
- 29. 问题与SQL查询查找SQL日期之间的记录
- 30. 记录NHibernate的SQL查询
只需添加更多信息,如果您在应用程序中使用SQLite,则应该为应用程序整体使用不同的日志记录系统,而不是要求内置SQLite函数。 – 2010-12-23 21:07:42
[在sqlite数据库中保留一个日志表?](https://stackoverflow.com/questions/422951/keeping-a-log-table-in-sqlite-database) – user4157124 2018-02-15 15:06:42
这不是,因为另一个问题只记录对数据的修改,而这里的想法是记录像select这样的查询。编辑原始问题以明确此区别。 – 2018-02-18 04:25:43