SQLite的SQL查询日志记录?

时间:2009-10-22 13:50:57

标签: sql logging sqlite

我需要记录查询,不仅是插入/更新/删除,还要从使用SQLite的许多应用程序中选择和其他查询。在这种情况下,向应用程序引入日志记录在实践中不是可行的解决方案。那么如何在SQLite本身启用查询日志记录呢?

1 个答案:

答案 0 :(得分:11)

查看sqlite Trace API。你必须自己实现回调。

void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
  

sqlite3_trace()运行SQL语句时,会在不同时间调用sqlite3_step()注册的回调函数。当语句首次开始执行时,回调将返回SQL语句文本的UTF-8呈现。输入每个触发的子程序时会发生其他回调。