代码之家  ›  专栏  ›  技术社区  ›  Eemeli Kantola

sqlite的SQL查询日志记录?

  •  24
  • Eemeli Kantola  · 技术社区  · 16 年前

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

    1 回复  |  直到 8 年前
        1
  •  10
  •   pierrotlefou    16 年前

    看看sqlite Trace 应用程序编程接口。您必须自己实现回调。

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

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