勇芳软件工作室.汉化:  SQLite3 API Functions > General >

sqlite3_log

Previous pageReturn to chapter overviewNext page

描述

 

将消息写入由SQLITE_CONFIG_LOG选项建立的错误日志到sqlite3_config.

 

C / C ++语法

 

void sqlite3_log(int iErrCode, const char *zFormat, ...);

 

PB语法

 

SUB sqlite3_log ( _

BYVAL iErrCode AS LONG, _

BYREF szFormat AS ASCIIZ, _

OPTIONAL BYREF ANY, BYREF ANY, BYREF ANY, BYREF ANY, _

BYREF ANY, BYREF ANY, BYREF ANY, BYREF ANY, BYREF ANY, _

BYREF ANY, BYREF ANY, BYREF ANY, BYREF ANY, BYREF ANY, _

BYREF ANY, BYREF ANY _

)

 

参数

 

iErrCode

 

[in]错误代码。

 

szFormat

 

[in]如果启用日志记录,则szFormat字符串和后续参数与sqlite3_snprintf一起使用以生成最终输出字符串。szFormat字符串不能为NULL。

 

返回值

 

无返回值。

 

备注

 

sqlite3_log功能用于扩展,如虚拟表,整理功能和SQL功能。虽然没有什么可以阻止应用程序调用{??989796083},但这样做是坏的形式。

 

为了避免死锁和其他线程问题,sqlite3_log功能将不会使用动态分配的内存。日志消息存储在堆栈中的固定长度的缓冲区中。如果日志消息长于几百个字符,它将被截断为缓冲区的长度。

 

C ++实现代码

 

/*

** Format and write a message to the log if logging is enabled.

*/

SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...){

va_list ap;                             /* Vararg list */

if( sqlite3GlobalConfig.xLog ){

  va_start(ap, zFormat);

  renderLogMsg(iErrCode, zFormat, ap);

  va_end(ap);

}

}