Мне нужно записывать запросы из нескольких приложений, использующих SQLite. Внедрение регистрации в приложениях в этом случае на практике не будет возможным решением. Итак, как я могу включить ведение журнала запросов в самом SQLite?
Ведение журнала SQL запросов для SQLite?
Ответ 1
Взгляните на API-интерфейс sqlite Trace. Вы должны выполнить обратный вызов самостоятельно.
void *sqlite3_trace(sqlite3*, void(*xTrace)(void*,const char*), void*);
Функция обратного вызова, зарегистрированная
sqlite3_trace()
, вызывается в разное время, когда оператор SQL выполняетсяsqlite3_step()
. Обратный вызов возвращает UTF-8 рендеринг текста инструкции SQL в начале выполнения инструкции. Дополнительные обратные вызовы возникают при вводе каждой подпрограммы.