Go to the documentation of this file.
54 #define MODULE_NAME "LogHttp2Log"
74 return rs_http2_log_json(tx, jb);
81 Flow *f,
void *state,
void *txptr, uint64_t tx_id)
99 jb_open_object(js,
"http");
100 if (!rs_http2_log_json(txptr, js)) {
110 static TmEcode JsonHttp2LogThreadInit(
ThreadVars *t,
const void *initdata,
void **data)
119 SCLogDebug(
"Error getting context for EveLogHTTP2. \"initdata\" argument NULL");
128 if (aft->
buffer == NULL) {
152 static void OutputHttp2LogDeinit(
OutputCtx *output_ctx)
161 #define DEFAULT_LOG_FILENAME "http2.json"
166 if(file_ctx == NULL) {
191 output_ctx->
data = http2_ctx;
192 output_ctx->
DeInit = OutputHttp2LogDeinit;
196 result.
ctx = output_ctx;
201 static void OutputHttp2LogDeinitSub(
OutputCtx *output_ctx)
224 http2_ctx->
cfg = ojc->
cfg;
226 output_ctx->
data = http2_ctx;
227 output_ctx->
DeInit = OutputHttp2LogDeinitSub;
231 result.
ctx = output_ctx;
242 HTTP2StateClosed, HTTP2StateClosed,
243 JsonHttp2LogThreadInit, JsonHttp2LogThreadDeinit, NULL);
249 HTTP2StateClosed, HTTP2StateClosed,
250 JsonHttp2LogThreadInit, JsonHttp2LogThreadDeinit, NULL);
OutputJsonCommonSettings cfg
LogFileCtx * LogFileNewCtx(void)
LogFileNewCtx() Get a new LogFileCtx.
#define JSON_OUTPUT_BUFFER_SIZE
int OutputJsonBuilderBuffer(JsonBuilder *js, LogFileCtx *file_ctx, MemBuffer **buffer)
void EveAddCommonOptions(const OutputJsonCommonSettings *cfg, const Packet *p, const Flow *f, JsonBuilder *js)
void * FlowGetAppState(const Flow *f)
int SCConfLogOpenGeneric(ConfNode *conf, LogFileCtx *log_ctx, const char *default_filename, int rotate)
open a generic output "log file", which may be a regular file or a socket
struct JsonHttp2LogThread_ JsonHttp2LogThread
void OutputRegisterTxSubModuleWithProgress(LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, int tc_log_progress, int ts_log_progress, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
void AppLayerParserRegisterLogger(uint8_t ipproto, AppProto alproto)
Per thread variable structure.
@ SC_ERR_HTTP2_LOG_GENERIC
bool EveHTTP2AddMetadata(const Flow *f, uint64_t tx_id, JsonBuilder *jb)
void * AppLayerParserGetTx(uint8_t ipproto, AppProto alproto, void *alstate, uint64_t tx_id)
#define MemBufferReset(mem_buffer)
Reset the mem buffer.
void(* DeInit)(struct OutputCtx_ *)
OutputHttp2Ctx * http2log_ctx
void MemBufferFree(MemBuffer *buffer)
#define SCLogError(err_code,...)
Macro used to log ERROR messages.
int LogFileFreeCtx(LogFileCtx *lf_ctx)
LogFileFreeCtx() Destroy a LogFileCtx (Close the file and free memory)
OutputJsonCommonSettings cfg
void JsonHttp2LogRegister(void)
#define DEFAULT_LOG_FILENAME
JsonBuilder * CreateEveHeaderWithTxId(const Packet *p, enum OutputJsonLogDirection dir, const char *event_type, JsonAddrInfo *addr, uint64_t tx_id)
void OutputRegisterTxModuleWithProgress(LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, int tc_log_progress, int ts_log_progress, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
Register a tx output module with progress.
struct OutputHttp2Ctx_ OutputHttp2Ctx
MemBuffer * MemBufferCreateNew(uint32_t size)