描述
将消息写入由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);
}
}