分享

SQL query logging for SQLite

 quasiceo 2012-12-29

I need to log queries from a number of applications that use SQLite. Introducing logging to the applications would in this case not be a feasible solution in practice. So how can I enable query logging in SQLite itself?

share|improve this question

Just to add a bit more info, if you're using SQLite in your application, you should probably use a different logging system for the app as a whole, rather than asking for built-in SQLite functions. – David Souther Dec 23 '10 at 21:07
feedback

1 Answer

up vote 7 down vote accepted

Take a look at the sqlite Trace API. You have to implement the callback yourself.

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

The callback function registered by sqlite3_trace() is invoked at various times when an SQL statement is being run by sqlite3_step(). The callback returns a UTF-8 rendering of the SQL statement text as the statement first begins executing. Additional callbacks occur as each triggered subprogram is entered.

share|improve this answer
Ok, so you are basically saying that I would need to write the code for logging. I wonder if someone has already done that, for a common use case like this? – Eemeli Kantola Oct 22 '09 at 14:04
You have to write the COMMAND to invoke the inbuilt trace mechanism. – Raj More Oct 22 '09 at 14:15
The sqlite3_trace api doesn't show you bindings. If your using a wrapper class, you may want to put in your own logging of the sql statements and the parameters. – eodonohoe Oct 22 '09 at 14:53
Ok, after reading SQLite docs a bit more I think this answer is good enough for the original question, which was a bit poorly formed from my side. So marking this as accepted :) – Eemeli Kantola Oct 22 '09 at 22:08
3  
Just wanted to drop in a small snippet for basic logging : void trace_callback( void* udp, const char* sql ) { printf("{SQL} [%s]\n", sql); } sqlite3_trace(g_dbConf, trace_callback, NULL); – Reflog Jul 13 '11 at

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多