mirror of
https://github.com/fluencelabs/redis
synced 2025-06-21 21:11:33 +00:00
Add RedisModule_Log() logging API function.
This commit is contained in:
25
src/module.c
25
src/module.c
@ -2768,6 +2768,30 @@ void RM_EmitAOF(RedisModuleIO *io, const char *cmdname, const char *fmt, ...) {
|
||||
return;
|
||||
}
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
* Logging
|
||||
* -------------------------------------------------------------------------- */
|
||||
|
||||
/* Produces a log message to the standard Redis log. */
|
||||
void RM_Log(RedisModuleCtx *ctx, int level, const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
char msg[LOG_MAX_LEN];
|
||||
size_t name_len;
|
||||
|
||||
if ((level&0xff) < server.verbosity) return;
|
||||
if (!ctx->module) return; /* Can only log if module is initialized */
|
||||
|
||||
name_len = snprintf(msg, sizeof(msg),"%s: ", ctx->module->name);
|
||||
|
||||
va_start(ap, fmt);
|
||||
vsnprintf(msg + name_len, sizeof(msg) - name_len, fmt, ap);
|
||||
va_end(ap);
|
||||
|
||||
serverLogRaw(level,msg);
|
||||
}
|
||||
|
||||
|
||||
/* --------------------------------------------------------------------------
|
||||
* Modules API internals
|
||||
* -------------------------------------------------------------------------- */
|
||||
@ -2886,6 +2910,7 @@ void moduleRegisterCoreAPI(void) {
|
||||
REGISTER_API(SaveDouble);
|
||||
REGISTER_API(LoadDouble);
|
||||
REGISTER_API(EmitAOF);
|
||||
REGISTER_API(Log);
|
||||
}
|
||||
|
||||
/* Global initialization at Redis startup. */
|
||||
|
Reference in New Issue
Block a user