suricata
|
#include "threads.h"
#include "conf.h"
#include "util-buffer.h"
#include "util-hash.h"
#include "suricata-plugin.h"
Go to the source code of this file.
Data Structures | |
struct | SyslogSetup_ |
struct | ThreadLogFileHashEntry |
struct | LogThreadedFileCtx_ |
struct | LogFilePluginCtx_ |
struct | LogFileCtx_ |
Macros | |
#define | LOGFILE_RECONN_MIN_TIME 500 |
#define | LOGFILE_ROTATE_INTERVAL 0x04 |
Typedefs | |
typedef struct SyslogSetup_ | SyslogSetup |
typedef struct ThreadLogFileHashEntry | ThreadLogFileHashEntry |
typedef struct LogThreadedFileCtx_ | LogThreadedFileCtx |
typedef struct LogFilePluginCtx_ | LogFilePluginCtx |
typedef struct LogFileCtx_ | LogFileCtx |
Enumerations | |
enum | LogFileType { LOGFILE_TYPE_FILE, LOGFILE_TYPE_UNIX_DGRAM, LOGFILE_TYPE_UNIX_STREAM, LOGFILE_TYPE_REDIS, LOGFILE_TYPE_PLUGIN, LOGFILE_TYPE_NOTSET } |
Functions | |
LogFileCtx * | LogFileNewCtx (void) |
LogFileNewCtx() Get a new LogFileCtx. More... | |
int | LogFileFreeCtx (LogFileCtx *) |
LogFileFreeCtx() Destroy a LogFileCtx (Close the file and free memory) More... | |
int | LogFileWrite (LogFileCtx *file_ctx, MemBuffer *buffer) |
LogFileCtx * | LogFileEnsureExists (LogFileCtx *lf_ctx) |
LogFileEnsureExists() Ensure a log file context for the thread exists. More... | |
int | SCConfLogOpenGeneric (ConfNode *conf, LogFileCtx *, const char *, int) |
open a generic output "log file", which may be a regular file or a socket More... | |
int | SCConfLogReopen (LogFileCtx *) |
Reopen a regular log file with the side-affect of truncating it. More... | |
bool | SCLogOpenThreadedFile (const char *log_path, const char *append, LogFileCtx *parent_ctx) |
Definition in file util-logopenfile.h.
#define LOGFILE_RECONN_MIN_TIME 500 |
Definition at line 164 of file util-logopenfile.h.
#define LOGFILE_ROTATE_INTERVAL 0x04 |
Definition at line 167 of file util-logopenfile.h.
typedef struct LogFileCtx_ LogFileCtx |
Global structure for Output Context
typedef struct LogFilePluginCtx_ LogFilePluginCtx |
typedef struct LogThreadedFileCtx_ LogThreadedFileCtx |
typedef struct SyslogSetup_ SyslogSetup |
typedef struct ThreadLogFileHashEntry ThreadLogFileHashEntry |
enum LogFileType |
Enumerator | |
---|---|
LOGFILE_TYPE_FILE | |
LOGFILE_TYPE_UNIX_DGRAM | |
LOGFILE_TYPE_UNIX_STREAM | |
LOGFILE_TYPE_REDIS | |
LOGFILE_TYPE_PLUGIN | |
LOGFILE_TYPE_NOTSET |
Definition at line 38 of file util-logopenfile.h.
LogFileCtx* LogFileEnsureExists | ( | LogFileCtx * | parent_ctx | ) |
LogFileEnsureExists() Ensure a log file context for the thread exists.
parent_ctx |
LogFileCtx | * pointer if successful; NULL otherwise |
Definition at line 708 of file util-logopenfile.c.
References LogThreadedFileCtx_::mutex, SCMutexLock, LogFileCtx_::threaded, and LogFileCtx_::threads.
Referenced by CreateEveThreadCtx(), and JsonLogThreadInit().
int LogFileFreeCtx | ( | LogFileCtx * | lf_ctx | ) |
LogFileFreeCtx() Destroy a LogFileCtx (Close the file and free memory)
lf_ctx | pointer to the OutputCtx |
int | 1 if successful, 0 if error |
Definition at line 862 of file util-logopenfile.c.
References LogThreadedFileCtx_::append, BUG_ON, LogFileCtx_::Close, SCEveFileType_::Deinit, LogFileCtx_::filename, LogFileCtx_::fp, LogFileCtx_::fp_mutex, HashTableFree(), LogThreadedFileCtx_::ht, LogFilePluginCtx_::init_data, LOGFILE_TYPE_PLUGIN, LogThreadedFileCtx_::mutex, OutputUnregisterFileRotationFlag(), LogFilePluginCtx_::plugin, LogFileCtx_::plugin, LogFileCtx_::prefix, LogFileCtx_::prefix_len, LogFileCtx_::rotation_flag, SCFree, SCMutexDestroy, SCReturnInt, LogFileCtx_::sensor_name, LogFileCtx_::threaded, LogFileCtx_::threads, and LogFileCtx_::type.
Referenced by AlertFastLogInitCtx(), LogHttpLogInitCtx(), and LogTcpDataLogInitCtx().
LogFileCtx* LogFileNewCtx | ( | void | ) |
LogFileNewCtx() Get a new LogFileCtx.
LogFileCtx | * pointer if successful, NULL if error |
Definition at line 660 of file util-logopenfile.c.
References SCCalloc, and LogFileCtx_::Write.
Referenced by AlertFastLogInitCtx(), LogHttpLogInitCtx(), LogTcpDataLogInitCtx(), and OutputJsonInitCtx().
int LogFileWrite | ( | LogFileCtx * | file_ctx, |
MemBuffer * | buffer | ||
) |
Definition at line 911 of file util-logopenfile.c.
References LogFileCtx_::fp_mutex, LogFilePluginCtx_::init_data, LOGFILE_TYPE_FILE, LOGFILE_TYPE_PLUGIN, LOGFILE_TYPE_REDIS, LOGFILE_TYPE_UNIX_DGRAM, LOGFILE_TYPE_UNIX_STREAM, MEMBUFFER_BUFFER, MEMBUFFER_OFFSET, MemBufferWriteString, LogFilePluginCtx_::plugin, LogFileCtx_::plugin, SCMutexLock, SCMutexUnlock, LogFilePluginCtx_::thread_data, LogFileCtx_::type, SCEveFileType_::Write, and LogFileCtx_::Write.
Referenced by OutputJSONBuffer(), and OutputJsonBuilderBuffer().
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
conf | ConfNode structure for the output section in question |
log_ctx | Log file context allocated by caller |
default_filename | Default name of file to open, if not specified in ConfNode |
rotate | Register the file for rotation in HUP. |
0 | on success |
-1 | on error |
Definition at line 453 of file util-logopenfile.c.
Referenced by AlertFastLogInitCtx(), LogHttpLogInitCtx(), and LogTcpDataLogInitCtx().
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 630 of file util-logopenfile.c.
References LogFileCtx_::filename, LogFileCtx_::fp, LogFileCtx_::is_regular, SCLogDebug, and SCLogWarning.
bool SCLogOpenThreadedFile | ( | const char * | log_path, |
const char * | append, | ||
LogFileCtx * | parent_ctx | ||
) |
Definition at line 360 of file util-logopenfile.c.