.Dd January 24, 2024 .Dt SQLITE3_LOG 3 .Os .Sh NAME .Nm sqlite3_log .Nd error logging interface .Sh SYNOPSIS .In sqlite3.h .Ft void .Fo sqlite3_log .Fa "int iErrCode" .Fa "const char *zFormat" .Fa "..." .Fc .Sh DESCRIPTION The .Fn sqlite3_log interface writes a message into the error log established by the SQLITE_CONFIG_LOG option to .Fn sqlite3_config . If logging is enabled, the zFormat string and subsequent arguments are used with .Fn sqlite3_snprintf to generate the final output string. .Pp The sqlite3_log() interface is intended for use by extensions such as virtual tables, collating functions, and SQL functions. While there is nothing to prevent an application from calling sqlite3_log(), doing so is considered bad form. .Pp The zFormat string must not be NULL. .Pp To avoid deadlocks and other threading problems, the sqlite3_log() routine will not use dynamically allocated memory. The log message is stored in a fixed-length buffer on the stack. If the log message is longer than a few hundred characters, it will be truncated to the length of the buffer. .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 9489. .Bd -literal SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); .Ed .Sh SEE ALSO .Xr sqlite3_config 3 , .Xr sqlite3_mprintf 3 , .Xr SQLITE_CONFIG_SINGLETHREAD 3