json_string(file_ctx->sensor_name));
}
+ if (file_ctx->prefix)
+ MemBufferWriteRaw(buffer, file_ctx->prefix, file_ctx->prefix_len);
+
int r = json_dump_callback(js, MemBufferCallback, buffer,
JSON_PRESERVE_ORDER|JSON_COMPACT|JSON_ENSURE_ASCII|
#ifdef JSON_ESCAPE_SLASH
const char *prefix = ConfNodeLookupChildValue(conf, "prefix");
if (prefix != NULL)
{
+ SCLogInfo("Using prefix '%s' for JSON message", prefix);
json_ctx->file_ctx->prefix = SCStrdup(prefix);
if (json_ctx->file_ctx->prefix == NULL)
{
"Failed to allocate memory for eve-log.prefix setting.");
exit(EXIT_FAILURE);
}
+ json_ctx->file_ctx->prefix_len = strlen(prefix);
}
if (json_ctx->json_out == LOGFILE_TYPE_FILE ||
SCMutexDestroy(&lf_ctx->fp_mutex);
- if (lf_ctx->prefix != NULL)
+ if (lf_ctx->prefix != NULL) {
SCFree(lf_ctx->prefix);
+ lf_ctx->prefix_len = 0;
+ }
if(lf_ctx->filename != NULL)
SCFree(lf_ctx->filename);
/**< Used by some alert loggers like the unified ones that append
* the date onto the end of files. */
char *prefix;
+ size_t prefix_len;
/** Generic size_limit and size_current
* They must be common to the threads accesing the same file */