suricata
output.c File Reference
#include "suricata-common.h"
#include "flow.h"
#include "conf.h"
#include "tm-threads.h"
#include "util-error.h"
#include "util-debug.h"
#include "output.h"
#include "alert-fastlog.h"
#include "alert-unified2-alert.h"
#include "alert-debuglog.h"
#include "alert-prelude.h"
#include "alert-syslog.h"
#include "output-json-alert.h"
#include "output-json-flow.h"
#include "output-json-netflow.h"
#include "log-cf-common.h"
#include "log-droplog.h"
#include "output-json-drop.h"
#include "log-httplog.h"
#include "output-json-http.h"
#include "output-json-dns.h"
#include "log-tlslog.h"
#include "log-tlsstore.h"
#include "output-json-tls.h"
#include "output-json-ssh.h"
#include "log-pcap.h"
#include "output-json-file.h"
#include "output-json-smtp.h"
#include "output-json-stats.h"
#include "log-filestore.h"
#include "log-tcp-data.h"
#include "log-stats.h"
#include "output-json.h"
#include "output-json-nfs.h"
#include "output-json-tftp.h"
#include "output-json-smb.h"
#include "output-json-ikev2.h"
#include "output-json-krb5.h"
#include "output-json-dhcp.h"
#include "output-json-template.h"
#include "output-json-template-rust.h"
#include "output-lua.h"
#include "output-json-dnp3.h"
#include "output-json-metadata.h"
#include "output-filestore.h"
Include dependency graph for output.c:

Go to the source code of this file.

Data Structures

struct  RootLogger_
 

Typedefs

typedef struct RootLogger_ RootLogger
 

Functions

typedef TAILQ_HEAD (LoggerThreadStore_, LoggerThreadStoreNode_)
 
 TAILQ_HEAD (OutputFileRolloverFlag_)
 
void OutputRegisterPacketModule (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, PacketLogger PacketLogFunc, PacketLogCondition PacketConditionFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a packet output module. More...
 
void OutputRegisterPacketSubModule (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, PacketLogger PacketLogFunc, PacketLogCondition PacketConditionFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a packet output sub-module. More...
 
void OutputRegisterTxModuleWithCondition (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, TxLoggerCondition TxLogCondition, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a tx output module with condition. More...
 
void OutputRegisterTxSubModuleWithCondition (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, TxLoggerCondition TxLogCondition, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 
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. More...
 
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 OutputRegisterTxModule (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a tx output module. More...
 
void OutputRegisterTxSubModule (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, AppProto alproto, TxLogger TxLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 
void OutputRegisterFileModule (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, FileLogger FileLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a file output module. More...
 
void OutputRegisterFileSubModule (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, FileLogger FileLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a file output sub-module. More...
 
void OutputRegisterFiledataModule (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, FiledataLogger FiledataLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a file data output module. More...
 
void OutputRegisterFiledataSubModule (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, FiledataLogger FiledataLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a file data output sub-module. More...
 
void OutputRegisterFlowModule (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, FlowLogger FlowLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a flow output module. More...
 
void OutputRegisterFlowSubModule (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, FlowLogger FlowLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a flow output sub-module. More...
 
void OutputRegisterStreamingModule (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, StreamingLogger StreamingLogFunc, enum OutputStreamingType stream_type, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a streaming data output module. More...
 
void OutputRegisterStreamingSubModule (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, StreamingLogger StreamingLogFunc, enum OutputStreamingType stream_type, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a streaming data output sub-module. More...
 
void OutputRegisterStatsModule (LoggerId id, const char *name, const char *conf_name, OutputInitFunc InitFunc, StatsLogger StatsLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a stats data output module. More...
 
void OutputRegisterStatsSubModule (LoggerId id, const char *parent_name, const char *name, const char *conf_name, OutputInitSubFunc InitFunc, StatsLogger StatsLogFunc, ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats)
 Register a stats data output sub-module. More...
 
OutputModuleOutputGetModuleByConfName (const char *conf_name)
 Get an output module by name. More...
 
void OutputDeregisterAll (void)
 Deregister all modules. Useful for a memory clean exit. More...
 
int OutputDropLoggerEnable (void)
 
void OutputDropLoggerDisable (void)
 
void OutputRegisterFileRotationFlag (int *flag)
 Register a flag for file rotation notification. More...
 
void OutputUnregisterFileRotationFlag (int *flag)
 Unregister a file rotation flag. More...
 
void OutputNotifyFileRotation (void)
 Notifies all registered file rotation notification flags. More...
 
TmEcode OutputLoggerLog (ThreadVars *tv, Packet *p, void *thread_data)
 
TmEcode OutputLoggerThreadInit (ThreadVars *tv, const void *initdata, void **data)
 
TmEcode OutputLoggerThreadDeinit (ThreadVars *tv, void *thread_data)
 
void OutputLoggerExitPrintStats (ThreadVars *tv, void *thread_data)
 
void OutputRegisterRootLogger (ThreadInitFunc ThreadInit, ThreadDeinitFunc ThreadDeinit, ThreadExitPrintStatsFunc ThreadExitPrintStats, OutputLogFunc LogFunc)
 
void TmModuleLoggerRegister (void)
 
void OutputRegisterRootLoggers (void)
 Register all root loggers. More...
 
void OutputRegisterLoggers (void)
 Register all non-root logging modules. More...
 

Variables

 LoggerThreadStoreNode
 
 OutputFileRolloverFlag
 

Detailed Description

Author
OISF, Jason Ish jason.nosp@m..ish.nosp@m.@oisf.nosp@m..net
Endace Technology Limited, Jason Ish jason.nosp@m..ish.nosp@m.@enda.nosp@m.ce.c.nosp@m.om

The root logging output for all non-application logging.

The loggers are made up of a hierarchy of loggers. At the top we have the root logger which is the main entry point to logging. Under the root there exists parent loggers that are the entry point for specific types of loggers such as packet logger, transaction loggers, etc. Each parent logger may have 0 or more loggers that actual handle the job of producing output to something like a file.

Definition in file output.c.

Typedef Documentation

typedef struct RootLogger_ RootLogger

Function Documentation

void OutputDeregisterAll ( void  )

Deregister all modules. Useful for a memory clean exit.

Definition at line 834 of file output.c.

References output_modules, SCFree, TAILQ_FIRST, and TAILQ_REMOVE.

Referenced by GlobalsInitPreConfig().

Here is the caller graph for this function:

void OutputDropLoggerDisable ( void  )

Definition at line 854 of file output.c.

int OutputDropLoggerEnable ( void  )

Definition at line 846 of file output.c.

OutputModule* OutputGetModuleByConfName ( const char *  conf_name)

Get an output module by name.

Return values
TheOutputModule with the given name or NULL if no output module with the given name is registered.

Definition at line 819 of file output.c.

References OutputModule_::conf_name, output_modules, and TAILQ_FOREACH.

Referenced by RunModeInitializeOutputs(), and RunModeShutDown().

Here is the caller graph for this function:

void OutputLoggerExitPrintStats ( ThreadVars tv,
void *  thread_data 
)

Definition at line 985 of file output.c.

References LoggerThreadStoreNode, TAILQ_FIRST, TAILQ_NEXT, and RootLogger_::ThreadExitPrintStats.

Referenced by ProfileFlowWorkerIdToString().

Here is the caller graph for this function:

TmEcode OutputLoggerLog ( ThreadVars tv,
Packet p,
void *  thread_data 
)

Definition at line 912 of file output.c.

References RootLogger_::LogFunc, LoggerThreadStoreNode, TAILQ_FIRST, TAILQ_NEXT, and TM_ECODE_OK.

TmEcode OutputLoggerThreadDeinit ( ThreadVars tv,
void *  thread_data 
)

Definition at line 959 of file output.c.

References LoggerThreadStoreNode, SCFree, TAILQ_FIRST, TAILQ_NEXT, TAILQ_REMOVE, RootLogger_::ThreadDeinit, TM_ECODE_FAILED, and TM_ECODE_OK.

Referenced by OutputLoggerThreadInit().

Here is the caller graph for this function:

TmEcode OutputLoggerThreadInit ( ThreadVars tv,
const void *  initdata,
void **  data 
)

Definition at line 928 of file output.c.

References LoggerThreadStoreNode, OutputLoggerThreadDeinit(), SCCalloc, TAILQ_FOREACH, TAILQ_INIT, TAILQ_INSERT_TAIL, RootLogger_::ThreadInit, TM_ECODE_FAILED, and TM_ECODE_OK.

Here is the call graph for this function:

void OutputNotifyFileRotation ( void  )

Notifies all registered file rotation notification flags.

Definition at line 905 of file output.c.

References OutputFileRolloverFlag, and TAILQ_FOREACH.

Referenced by PostRunDeinit().

Here is the caller graph for this function:

void OutputRegisterFiledataModule ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
FiledataLogger  FiledataLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a file data output module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 496 of file output.c.

References OutputModule_::conf_name, OutputModule_::FiledataLogFunc, OutputModule_::InitFunc, OutputModule_::logger_id, OutputModule_::name, output_modules, SC_ERR_FATAL, SCCalloc, SCLogDebug, SCLogError, TAILQ_INSERT_TAIL, OutputModule_::ThreadDeinit, RootLogger_::ThreadDeinit, OutputModule_::ThreadExitPrintStats, RootLogger_::ThreadExitPrintStats, OutputModule_::ThreadInit, RootLogger_::ThreadInit, and unlikely.

Referenced by LogFilestoreRegister(), and OutputFilestoreRegister().

Here is the caller graph for this function:

void OutputRegisterFiledataSubModule ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
FiledataLogger  FiledataLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a file data output sub-module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 536 of file output.c.

References OutputModule_::conf_name, OutputModule_::FiledataLogFunc, OutputModule_::InitSubFunc, OutputModule_::logger_id, OutputModule_::name, output_modules, OutputModule_::parent_name, SC_ERR_FATAL, SCCalloc, SCLogDebug, SCLogError, TAILQ_INSERT_TAIL, OutputModule_::ThreadDeinit, RootLogger_::ThreadDeinit, OutputModule_::ThreadExitPrintStats, RootLogger_::ThreadExitPrintStats, OutputModule_::ThreadInit, RootLogger_::ThreadInit, and unlikely.

void OutputRegisterFileModule ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
FileLogger  FileLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a file output module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 416 of file output.c.

References OutputModule_::conf_name, OutputModule_::FileLogFunc, OutputModule_::InitFunc, OutputModule_::logger_id, OutputModule_::name, output_modules, SC_ERR_FATAL, SCCalloc, SCLogDebug, SCLogError, TAILQ_INSERT_TAIL, OutputModule_::ThreadDeinit, RootLogger_::ThreadDeinit, OutputModule_::ThreadExitPrintStats, RootLogger_::ThreadExitPrintStats, OutputModule_::ThreadInit, RootLogger_::ThreadInit, and unlikely.

void OutputRegisterFileRotationFlag ( int *  flag)

Register a flag for file rotation notification.

Parameters
flagA pointer that will be set to 1 when file rotation is requested.

Definition at line 866 of file output.c.

References OutputFileRolloverFlag, SC_ERR_MEM_ALLOC, SCCalloc, SCLogError, TAILQ_INSERT_TAIL, and unlikely.

Referenced by OutputJsonRegister(), SCConfLogOpenGeneric(), SCLogAllocLogOPBuffer(), and Unified2AlertInitCtx().

Here is the caller graph for this function:

void OutputRegisterFileSubModule ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
FileLogger  FileLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)
void OutputRegisterFlowModule ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
FlowLogger  FlowLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a flow output module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 577 of file output.c.

References OutputModule_::conf_name, OutputModule_::FlowLogFunc, OutputModule_::InitFunc, OutputModule_::logger_id, OutputModule_::name, output_modules, SC_ERR_FATAL, SCCalloc, SCLogDebug, SCLogError, TAILQ_INSERT_TAIL, OutputModule_::ThreadDeinit, RootLogger_::ThreadDeinit, OutputModule_::ThreadExitPrintStats, RootLogger_::ThreadExitPrintStats, OutputModule_::ThreadInit, RootLogger_::ThreadInit, and unlikely.

void OutputRegisterFlowSubModule ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
FlowLogger  FlowLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)
void OutputRegisterPacketModule ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
PacketLogger  PacketLogFunc,
PacketLogCondition  PacketConditionFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)
void OutputRegisterPacketSubModule ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
PacketLogger  PacketLogFunc,
PacketLogCondition  PacketConditionFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)
void OutputRegisterRootLogger ( ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats,
OutputLogFunc  LogFunc 
)
void OutputRegisterRootLoggers ( void  )

Register all root loggers.

Definition at line 1024 of file output.c.

References OutputFiledataLoggerRegister(), OutputFileLoggerRegister(), OutputPacketLoggerRegister(), OutputStreamingLoggerRegister(), and OutputTxLoggerRegister().

Referenced by TmModuleLoggerRegister().

Here is the call graph for this function:

Here is the caller graph for this function:

void OutputRegisterStatsModule ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
StatsLogger  StatsLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a stats data output module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 741 of file output.c.

References OutputModule_::conf_name, OutputModule_::InitFunc, OutputModule_::logger_id, OutputModule_::name, output_modules, SC_ERR_FATAL, SCCalloc, SCLogDebug, SCLogError, OutputModule_::StatsLogFunc, TAILQ_INSERT_TAIL, OutputModule_::ThreadDeinit, RootLogger_::ThreadDeinit, OutputModule_::ThreadExitPrintStats, RootLogger_::ThreadExitPrintStats, OutputModule_::ThreadInit, RootLogger_::ThreadInit, and unlikely.

Referenced by LogStatsLogRegister().

Here is the caller graph for this function:

void OutputRegisterStatsSubModule ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
StatsLogger  StatsLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a stats data output sub-module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 780 of file output.c.

References OutputModule_::conf_name, OutputModule_::InitSubFunc, OutputModule_::logger_id, OutputModule_::name, output_modules, OutputModule_::parent_name, SC_ERR_FATAL, SCCalloc, SCLogDebug, SCLogError, OutputModule_::StatsLogFunc, TAILQ_INSERT_TAIL, OutputModule_::ThreadDeinit, RootLogger_::ThreadDeinit, OutputModule_::ThreadExitPrintStats, RootLogger_::ThreadExitPrintStats, OutputModule_::ThreadInit, RootLogger_::ThreadInit, and unlikely.

void OutputRegisterStreamingModule ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
StreamingLogger  StreamingLogFunc,
enum OutputStreamingType  stream_type,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a streaming data output module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 657 of file output.c.

References OutputModule_::conf_name, OutputModule_::InitFunc, OutputModule_::logger_id, OutputModule_::name, output_modules, SC_ERR_FATAL, SCCalloc, SCLogDebug, SCLogError, OutputModule_::stream_type, OutputModule_::StreamingLogFunc, TAILQ_INSERT_TAIL, OutputModule_::ThreadDeinit, RootLogger_::ThreadDeinit, OutputModule_::ThreadExitPrintStats, RootLogger_::ThreadExitPrintStats, OutputModule_::ThreadInit, RootLogger_::ThreadInit, and unlikely.

Referenced by LogTcpDataLogRegister().

Here is the caller graph for this function:

void OutputRegisterStreamingSubModule ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
StreamingLogger  StreamingLogFunc,
enum OutputStreamingType  stream_type,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)
void OutputRegisterTxModule ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
AppProto  alproto,
TxLogger  TxLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a tx output module.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 386 of file output.c.

Referenced by LogHttpLogRegister().

Here is the caller graph for this function:

void OutputRegisterTxModuleWithCondition ( LoggerId  id,
const char *  name,
const char *  conf_name,
OutputInitFunc  InitFunc,
AppProto  alproto,
TxLogger  TxLogFunc,
TxLoggerCondition  TxLogCondition,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Register a tx output module with condition.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 324 of file output.c.

Referenced by LogTlsStoreRegister().

Here is the caller graph for this function:

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.

This function will register an output module so it can be configured with the configuration file.

Return values
Returns0 on success, -1 on failure.

Definition at line 355 of file output.c.

Referenced by JsonDnsLogRegister(), and LogTlsLogRegister().

Here is the caller graph for this function:

void OutputRegisterTxSubModule ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
AppProto  alproto,
TxLogger  TxLogFunc,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Definition at line 397 of file output.c.

void OutputRegisterTxSubModuleWithCondition ( LoggerId  id,
const char *  parent_name,
const char *  name,
const char *  conf_name,
OutputInitSubFunc  InitFunc,
AppProto  alproto,
TxLogger  TxLogFunc,
TxLoggerCondition  TxLogCondition,
ThreadInitFunc  ThreadInit,
ThreadDeinitFunc  ThreadDeinit,
ThreadExitPrintStatsFunc  ThreadExitPrintStats 
)

Definition at line 335 of file output.c.

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 
)

Definition at line 366 of file output.c.

Referenced by JsonDnsLogRegister().

Here is the caller graph for this function:

void OutputUnregisterFileRotationFlag ( int *  flag)

Unregister a file rotation flag.

Note that it is safe to call this function with a flag that may not have been registered, in which case this function won't do anything.

Parameters
flagA pointer that has been previously registered for file rotation notifications.

Definition at line 888 of file output.c.

References next, OutputFileRolloverFlag, SCFree, TAILQ_FIRST, TAILQ_NEXT, and TAILQ_REMOVE.

Referenced by LogFileFreeCtx().

Here is the caller graph for this function:

typedef TAILQ_HEAD ( LoggerThreadStore_  ,
LoggerThreadStoreNode_   
)

Registry of flags to be updated on file rotation notification.

Definition at line 99 of file output.c.

References TAILQ_ENTRY.

TAILQ_HEAD ( OutputFileRolloverFlag_  )
void TmModuleLoggerRegister ( void  )

Definition at line 1015 of file output.c.

References OutputRegisterLoggers(), and OutputRegisterRootLoggers().

Referenced by RegisterAllModules().

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

LoggerThreadStoreNode
OutputFileRolloverFlag