void TmModuleJsonAlertLogRegister (void)
{
- tmm_modules[TMM_JSONALERTLOG].name = MODULE_NAME;
- tmm_modules[TMM_JSONALERTLOG].ThreadInit = JsonAlertLogThreadInit;
- tmm_modules[TMM_JSONALERTLOG].ThreadDeinit = JsonAlertLogThreadDeinit;
- tmm_modules[TMM_JSONALERTLOG].cap_flags = 0;
- tmm_modules[TMM_JSONALERTLOG].flags = TM_FLAG_LOGAPI_TM;
-
OutputRegisterPacketModule(MODULE_NAME, "alert-json-log",
- JsonAlertLogInitCtx, JsonAlertLogger, JsonAlertLogCondition, NULL, NULL, NULL);
+ JsonAlertLogInitCtx, JsonAlertLogger, JsonAlertLogCondition,
+ JsonAlertLogThreadInit, JsonAlertLogThreadDeinit, NULL);
OutputRegisterPacketSubModule("eve-log", MODULE_NAME, "eve-log.alert",
- JsonAlertLogInitCtxSub, JsonAlertLogger, JsonAlertLogCondition);
+ JsonAlertLogInitCtxSub, JsonAlertLogger, JsonAlertLogCondition,
+ JsonAlertLogThreadInit, JsonAlertLogThreadDeinit, NULL);
}
#else
-static TmEcode OutputJsonThreadInit(ThreadVars *t, void *initdata, void **data)
-{
- SCLogInfo("Can't init JSON output - JSON support was disabled during build.");
- return TM_ECODE_FAILED;
-}
-
void TmModuleJsonAlertLogRegister (void)
{
- tmm_modules[TMM_JSONALERTLOG].name = MODULE_NAME;
- tmm_modules[TMM_JSONALERTLOG].ThreadInit = OutputJsonThreadInit;
+ SCLogInfo("Can't register JSON output - JSON support was disabled during build.");
}
#endif
OutputRegisterPacketModule(MODULE_NAME, "drop-json-log",
JsonDropLogInitCtx, JsonDropLogger, JsonDropLogCondition, NULL, NULL, NULL);
OutputRegisterPacketSubModule("eve-log", MODULE_NAME, "eve-log.drop",
- JsonDropLogInitCtxSub, JsonDropLogger, JsonDropLogCondition);
+ JsonDropLogInitCtxSub, JsonDropLogger, JsonDropLogCondition, NULL, NULL, NULL);
}
#else
JsonSshLogger, JsonSshCondition, NULL, NULL, NULL);
/* also register as child of eve-log */
- OutputRegisterPacketSubModule("eve-log", "JsonSshLog", "eve-log.ssh", OutputSshLogInitSub,
- JsonSshLogger, JsonSshCondition);
+ OutputRegisterPacketSubModule("eve-log", "JsonSshLog", "eve-log.ssh",
+ OutputSshLogInitSub, JsonSshLogger, JsonSshCondition, NULL, NULL, NULL);
}
#else
void
OutputRegisterPacketSubModule(const char *parent_name, const char *name,
const char *conf_name, OutputCtx *(*InitFunc)(ConfNode *, OutputCtx *parent_ctx),
- PacketLogger PacketLogFunc, PacketLogCondition PacketConditionFunc)
+ PacketLogger PacketLogFunc, PacketLogCondition PacketConditionFunc,
+ ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit,
+ ThreadExitPrintStatsFunc ThreadExitPrintStats)
{
if (unlikely(PacketLogFunc == NULL || PacketConditionFunc == NULL)) {
goto error;
module->InitSubFunc = InitFunc;
module->PacketLogFunc = PacketLogFunc;
module->PacketConditionFunc = PacketConditionFunc;
+ module->ThreadInit = ThreadInit;
+ module->ThreadDeinit = ThreadDeinit;
+ module->ThreadExitPrintStats = ThreadExitPrintStats;
TAILQ_INSERT_TAIL(&output_modules, module, entries);
SCLogDebug("Packet logger \"%s\" registered.", name);
ThreadInitFunc, ThreadDeinitFunc, ThreadExitPrintStatsFunc);
void OutputRegisterPacketSubModule(const char *parent_name, const char *name,
const char *conf_name, OutputCtx *(*InitFunc)(ConfNode *, OutputCtx *),
- PacketLogger LogFunc, PacketLogCondition ConditionFunc);
+ PacketLogger LogFunc, PacketLogCondition ConditionFunc,
+ ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit,
+ ThreadExitPrintStatsFunc ThreadExitPrintStats);
void OutputRegisterTxModule(const char *name, const char *conf_name,
OutputCtx *(*InitFunc)(ConfNode *), AppProto alproto,
CASE_CODE (TMM_FILELOGGER);
CASE_CODE (TMM_FILEDATALOGGER);
CASE_CODE (TMM_STREAMINGLOGGER);
- CASE_CODE (TMM_JSONALERTLOG);
CASE_CODE (TMM_JSONDROPLOG);
CASE_CODE (TMM_JSONFILELOG);
CASE_CODE (TMM_JSONFLOWLOG);
TMM_FILELOGGER,
TMM_FILEDATALOGGER,
TMM_STREAMINGLOGGER,
- TMM_JSONALERTLOG,
TMM_JSONDROPLOG,
TMM_JSONSMTPLOG,
TMM_JSONSSHLOG,