我需要从许多使用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. CakePHP中的MySQL查询日志记录
- 3. ServiceStack OrmLite查询日志记录
- 4. laravel禁用查询日志记录
- 5. 适用于SQL中日志记录表的查询和索引
- 6. 禁用Spring批量SQL查询的日志记录
- 7. 将DEBUG设置为False的日志记录Django SQL查询
- 8. SQL Server日志记录失败的查询
- 9. PostgreSQL对.sql脚本的查询/错误日志记录
- 10. 用于日志记录的SQLite跟踪
- 11. Log4J SQL日志记录TopLink
- 12. RoR:在生产日志中记录SQL查询
- 13. SQL Server - 查询日志?
- 14. Websphere 6.1中的SQL日志记录
- 15. ADO.net中的SQL事件日志记录
- 16. SQL Server的dml错误日志记录
- 17. 记录NHibernate的SQL查询
- 18. 没有日志库的日志记录
- 19. 调整apache公共日志记录的日志记录级别?
- 20. 基于日志记录级别的SpringBoot日志记录配置
- 21. SQL查询记录日期范围内匹配日期的记录数量?
- 22. PL/SQL日志记录 - 如何控制?
- 23. SSIS Sql参数日志记录
- 24. nohup启动sql和日志记录
- 25. NHibernate:日志记录
- 26. WebService日志记录
- 27. MongoDB日志记录
- 28. Sugarcrm日志记录
- 29. SynchronizationLockException +日志记录
- 30. Couchdb日志记录
只需添加更多信息,如果您在应用程序中使用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