logging: turn SCLog and SCLogErr into funcs

Reduces compiled code size.
pull/4806/head
Victor Julien 5 years ago
parent 64e307936e
commit 481a1923b4

@ -615,6 +615,44 @@ SCError SCLogMessage(const SCLogLevel log_level, const char *file,
return SC_OK;
}
void SCLog(int x, const char *file, const char *func, const int line,
const char *fmt, ...)
{
if (sc_log_global_log_level >= x &&
(sc_log_fg_filters_present == 0 ||
SCLogMatchFGFilterWL(file, func, line) == 1 ||
SCLogMatchFGFilterBL(file, func, line) == 1) &&
(sc_log_fd_filters_present == 0 ||
SCLogMatchFDFilter(func) == 1))
{
char msg[SC_LOG_MAX_LOG_MSG_LEN];
va_list ap;
va_start(ap, fmt);
vsnprintf(msg, sizeof(msg), fmt, ap);
va_end(ap);
SCLogMessage(x, file, line, func, SC_OK, msg);
}
}
void SCLogErr(int x, const char *file, const char *func, const int line,
const int err, const char *fmt, ...)
{
if (sc_log_global_log_level >= x &&
(sc_log_fg_filters_present == 0 ||
SCLogMatchFGFilterWL(file, func, line) == 1 ||
SCLogMatchFGFilterBL(file, func, line) == 1) &&
(sc_log_fd_filters_present == 0 ||
SCLogMatchFDFilter(func) == 1))
{
char msg[SC_LOG_MAX_LOG_MSG_LEN];
va_list ap;
va_start(ap, fmt);
vsnprintf(msg, sizeof(msg), fmt, ap);
va_end(ap);
SCLogMessage(x, file, line, func, err, msg);
}
}
/**
* \brief Returns whether debug messages are enabled to be logged or not
*

@ -206,43 +206,10 @@ extern int sc_log_module_initialized;
extern int sc_log_module_cleaned;
#define SCLog(x, file, func, line, ...) \
do { \
if (sc_log_global_log_level >= x && \
(sc_log_fg_filters_present == 0 || \
SCLogMatchFGFilterWL(file, func, line) == 1 || \
SCLogMatchFGFilterBL(file, func, line) == 1) && \
(sc_log_fd_filters_present == 0 || \
SCLogMatchFDFilter(func) == 1)) \
{ \
char _sc_log_msg[SC_LOG_MAX_LOG_MSG_LEN]; \
\
int _sc_log_ret = snprintf(_sc_log_msg, SC_LOG_MAX_LOG_MSG_LEN, __VA_ARGS__); \
if (_sc_log_ret == SC_LOG_MAX_LOG_MSG_LEN) \
_sc_log_msg[SC_LOG_MAX_LOG_MSG_LEN - 1] = '\0'; \
\
SCLogMessage(x, file, line, func, SC_OK, _sc_log_msg); \
} \
} while(0)
#define SCLogErr(x, file, func, line, err, ...) \
do { \
if (sc_log_global_log_level >= x && \
(sc_log_fg_filters_present == 0 || \
SCLogMatchFGFilterWL(file, func, line) == 1 || \
SCLogMatchFGFilterBL(file, func, line) == 1) && \
(sc_log_fd_filters_present == 0 || \
SCLogMatchFDFilter(func) == 1)) \
{ \
char _sc_log_msg[SC_LOG_MAX_LOG_MSG_LEN]; \
\
int _sc_log_ret = snprintf(_sc_log_msg, SC_LOG_MAX_LOG_MSG_LEN, __VA_ARGS__); \
if (_sc_log_ret == SC_LOG_MAX_LOG_MSG_LEN) \
_sc_log_msg[SC_LOG_MAX_LOG_MSG_LEN - 1] = '\0'; \
\
SCLogMessage(x, file, line, func, err, _sc_log_msg); \
} \
} while(0)
void SCLog(int x, const char *file, const char *func, const int line,
const char *fmt, ...) ATTR_FMT_PRINTF(5,6);
void SCLogErr(int x, const char *file, const char *func, const int line,
const int err, const char *fmt, ...) ATTR_FMT_PRINTF(6,7);
/**
* \brief Macro used to log INFORMATIONAL messages.

Loading…
Cancel
Save