suricata
util-logopenfile.c File Reference
#include "suricata-common.h"
#include "tm-modules.h"
#include "conf.h"
#include "output.h"
#include "util-byte.h"
#include "util-path.h"
#include "util-logopenfile.h"
Include dependency graph for util-logopenfile.c:

Go to the source code of this file.

Functions

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 More...
 
int SCConfLogReopen (LogFileCtx *log_ctx)
 Reopen a regular log file with the side-affect of truncating it. More...
 
LogFileCtxLogFileNewCtx (void)
 LogFileNewCtx() Get a new LogFileCtx. More...
 
int LogFileFreeCtx (LogFileCtx *lf_ctx)
 LogFileFreeCtx() Destroy a LogFileCtx (Close the file and free memory) More...
 
int LogFileWrite (LogFileCtx *file_ctx, MemBuffer *buffer)
 

Detailed Description

Author
Mike Pomraning mpomr.nosp@m.anin.nosp@m.g@qua.nosp@m.lys..nosp@m.com

File-like output for logging: regular files and sockets.

Definition in file util-logopenfile.c.

Function Documentation

LogFileCtx* LogFileNewCtx ( void  )

LogFileNewCtx() Get a new LogFileCtx.

Return values
LogFileCtx* pointer if succesful, NULL if error

Definition at line 517 of file util-logopenfile.c.

References LogFileCtx_::Close, LogFileCtx_::fp_mutex, SCMalloc, SCMutexInit, and LogFileCtx_::Write.

Referenced by AlertFastLogInitCtx(), JsonTlsLogJSONExtended(), LogHttpLogInitCtx(), LogStatsLogThreadDeinit(), LogTcpDataLogInitCtx(), OutputJsonInitCtx(), TLSGetIPInformations(), and Unified2AlertInitCtx().

Here is the caller graph for this function:

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

Parameters
confConfNode structure for the output section in question
log_ctxLog file context allocated by caller
default_filenameDefault name of file to open, if not specified in ConfNode
rotateRegister the file for rotation in HUP.
Return values
0on success
-1on error

Definition at line 305 of file util-logopenfile.c.

References ByteExtractStringUint32(), ConfigGetLogDirectory(), ConfNodeLookupChild(), ConfNodeLookupChildValue(), ConfValIsFalse(), DEFAULT_LOG_FILETYPE, DEFAULT_LOG_MODE_APPEND, LogFileCtx_::filemode, LogFileCtx_::filename, LogFileCtx_::flags, LogFileCtx_::fp, LogFileCtx_::is_regular, LogFileCtx_::is_sock, IsRunModeOffline(), JSON_ESCAPE_SLASH, LogFileCtx_::json_flags, LOGFILE_ROTATE_INTERVAL, LOGFILE_TYPE_REDIS, ConfNode_::name, OutputRegisterFileRotationFlag(), PathIsAbsolute(), LogFileCtx_::rotate_interval, LogFileCtx_::rotate_time, LogFileCtx_::rotation_flag, RunmodeGetCurrent(), SC_ERR_INVALID_ARGUMENT, SC_ERR_INVALID_NUMERIC_VALUE, SC_ERR_INVALID_YAML_CONF_ENTRY, SC_ERR_MEM_ALLOC, SC_ERR_REDIS, SCGetSecondsUntil(), SCLogError, SCLogInfo, SCParseTimeSizeString(), SCStrdup, LogFileCtx_::send_flags, LogFileCtx_::sock_type, LogFileCtx_::type, and unlikely.

Referenced by AlertFastLogInitCtx(), JsonTlsLogJSONExtended(), LogHttpLogInitCtx(), LogStatsLogThreadDeinit(), LogTcpDataLogInitCtx(), OutputJsonInitCtx(), and TLSGetIPInformations().

Here is the call graph for this function:

Here is the caller graph for this function:

int SCConfLogReopen ( LogFileCtx log_ctx)

Reopen a regular log file with the side-affect of truncating it.

This is useful to clear the log file and start a new one, or to re-open the file after its been moved by something external (eg. logrotate).

Definition at line 486 of file util-logopenfile.c.

References LogFileCtx_::filemode, LogFileCtx_::filename, LogFileCtx_::fp, LogFileCtx_::is_regular, SC_ERR_INVALID_ARGUMENT, SCLogDebug, and SCLogWarning.