aboutgitcodebugslistschat
path: root/log.h
diff options
context:
space:
mode:
Diffstat (limited to 'log.h')
-rw-r--r--log.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/log.h b/log.h
index c6befe3..69cfb50 100644
--- a/log.h
+++ b/log.h
@@ -103,9 +103,10 @@ void logmsg_perror(int pri, const char *format, ...)
/**
* logmsg_ratelimit() - Log a message with rate limiting
* @fn: Logging function name (e.g. warn, info, debug)
+ * @fn_s: Logging function name for suppression messages
* @now: Current timestamp
*/
-#define logmsg_ratelimit(fn, now, ...) \
+#define logmsg_ratelimit(fn, fn_s, now, ...) \
do { \
static unsigned int rl_suppressed_; \
static unsigned int rl_printed_; \
@@ -119,27 +120,27 @@ void logmsg_perror(int pri, const char *format, ...)
if (rl_printed_ < LOG_RATELIMIT_BURST) { \
fn(__VA_ARGS__); \
if (rl_suppressed_) { \
- fn("(suppressed %u similar messages)", \
- rl_suppressed_); \
+ fn_s("(suppressed %u similar messages)", \
+ rl_suppressed_); \
rl_suppressed_ = 0; \
} \
rl_printed_++; \
if (rl_printed_ == LOG_RATELIMIT_BURST) \
- fn("(suppressing further similar" \
- " messages)"); \
+ fn_s("(suppressing further similar" \
+ " messages)"); \
} else { \
rl_suppressed_++; \
} \
} while (0)
#define err_ratelimit(now, ...) \
- logmsg_ratelimit(err, now, __VA_ARGS__)
+ logmsg_ratelimit(err, err, now, __VA_ARGS__)
#define warn_ratelimit(now, ...) \
- logmsg_ratelimit(warn, now, __VA_ARGS__)
+ logmsg_ratelimit(warn, warn, now, __VA_ARGS__)
#define info_ratelimit(now, ...) \
- logmsg_ratelimit(info, now, __VA_ARGS__)
+ logmsg_ratelimit(info, info, now, __VA_ARGS__)
#define debug_ratelimit(now, ...) \
- logmsg_ratelimit(debug, now, __VA_ARGS__)
+ logmsg_ratelimit(debug, debug, now, __VA_ARGS__)
extern int log_file;
extern int log_trace;