From: Vsevolod Stakhov Date: Fri, 6 Dec 2019 13:10:31 +0000 (+0000) Subject: [Minor] Allow to log numeric id X-Git-Tag: 2.3~244 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a7e98226be0a25c1342720e97b7c6841c2e14eb5;p=thirdparty%2Frspamd.git [Minor] Allow to log numeric id --- diff --git a/src/libutil/logger.c b/src/libutil/logger.c index 193dd4fce7..4fc14c5508 100644 --- a/src/libutil/logger.c +++ b/src/libutil/logger.c @@ -1368,6 +1368,42 @@ rspamd_conditional_debug_fast (rspamd_logger_t *rspamd_log, } } +void +rspamd_conditional_debug_fast_num_id (rspamd_logger_t *rspamd_log, + rspamd_inet_addr_t *addr, + guint mod_id, const gchar *module, guint64 id, + const gchar *function, const gchar *fmt, ...) +{ + static gchar logbuf[LOGBUF_LEN], idbuf[64]; + va_list vp; + gchar *end; + + if (rspamd_log == NULL) { + rspamd_log = default_logger; + } + + if (rspamd_logger_need_log (rspamd_log, G_LOG_LEVEL_DEBUG, mod_id) || + rspamd_log->is_debug) { + if (rspamd_log->debug_ip && addr != NULL) { + if (rspamd_match_radix_map_addr (rspamd_log->debug_ip, addr) + == NULL) { + return; + } + } + + rspamd_snprintf (idbuf, sizeof (idbuf), "%XuL", id); + va_start (vp, fmt); + end = rspamd_vsnprintf (logbuf, sizeof (logbuf), fmt, vp); + *end = '\0'; + va_end (vp); + rspamd_log->log_func (module, idbuf, + function, + G_LOG_LEVEL_DEBUG | RSPAMD_LOG_FORCED, + logbuf, + rspamd_log); + } +} + /** * Wrapper for glib logger */ diff --git a/src/libutil/logger.h b/src/libutil/logger.h index 1dff75211b..dd980445e5 100644 --- a/src/libutil/logger.h +++ b/src/libutil/logger.h @@ -133,7 +133,13 @@ void rspamd_conditional_debug (rspamd_logger_t *logger, void rspamd_conditional_debug_fast (rspamd_logger_t *logger, rspamd_inet_addr_t *addr, - guint mod_id, const gchar *module, const gchar *id, + guint mod_id, + const gchar *module, const gchar *id, + const gchar *function, const gchar *fmt, ...); +void rspamd_conditional_debug_fast_num_id (rspamd_logger_t *logger, + rspamd_inet_addr_t *addr, + guint mod_id, + const gchar *module, guint64 id, const gchar *function, const gchar *fmt, ...); /**