pub KeywordsRegister: ::std::option::Option<unsafe extern "C" fn()>,
pub logname: *const ::std::os::raw::c_char,
pub confname: *const ::std::os::raw::c_char,
+ pub dir: u8,
pub Logger: ::std::option::Option<
unsafe extern "C" fn(
tx: *const ::std::os::raw::c_void,
return 0;
}
+static TxLogger JsonLoggerFromDir(uint8_t dir)
+{
+ if (dir == LOG_DIR_PACKET) {
+ return JsonGenericDirPacketLogger;
+ }
+ BUG_ON(dir != LOG_DIR_FLOW);
+ return JsonGenericDirFlowLogger;
+}
+
/**
* \brief Register all non-root logging modules.
*/
for (size_t i = 0; i < preregistered_loggers_nb; i++) {
OutputRegisterTxSubModule(LOGGER_JSON_TX, "eve-log", preregistered_loggers[i].logname,
preregistered_loggers[i].confname, OutputJsonLogInitSub,
- preregistered_loggers[i].alproto, JsonGenericDirFlowLogger, JsonLogThreadInit,
- JsonLogThreadDeinit);
+ preregistered_loggers[i].alproto, JsonLoggerFromDir(preregistered_loggers[i].dir),
+ JsonLogThreadInit, JsonLogThreadDeinit);
SCLogDebug(
"%s JSON logger registered.", AppProtoToString(preregistered_loggers[i].alproto));
RegisterSimpleJsonApplayerLogger(
.confname = plugin->confname,
.logname = plugin->logname,
.alproto = alproto,
+ .dir = plugin->dir,
.LogTx = (EveJsonSimpleTxLogFunc)plugin->Logger,
};
if (OutputPreRegisterLogger(reg_data) != 0) {