From 701f4f616a6b43b35392a7e852dcbcc9d880165a Mon Sep 17 00:00:00 2001 From: Manoj Naragund Date: Mon, 21 Nov 2022 05:04:46 -0800 Subject: [PATCH] ospfd: addition of OSPF_LOG. Description: Addition of OSPF_LOG for conditionally logging ospf messages, at different log levels. Signed-off-by: Manoj Naragund --- lib/log.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/log.h b/lib/log.h index 3011fa9a99..5fb7ee030b 100644 --- a/lib/log.h +++ b/lib/log.h @@ -129,6 +129,21 @@ extern int proto_redistnum(int afi, const char *s); extern const char *zserv_command_string(unsigned int command); +#define OSPF_LOG(level, cond, fmt, ...) \ + do { \ + if (cond) \ + zlog_##level(fmt, ##__VA_ARGS__); \ + } while (0) + +#define OSPF_LOG_ERR(fmt, ...) OSPF_LOG(err, true, fmt, ##__VA_ARGS__) + +#define OSPF_LOG_WARN(fmt, ...) OSPF_LOG(warn, true, fmt, ##__VA_ARGS__) + +#define OSPF_LOG_INFO(fmt, ...) OSPF_LOG(info, true, fmt, ##__VA_ARGS__) + +#define OSPF_LOG_DEBUG(cond, fmt, ...) OSPF_LOG(debug, cond, fmt, ##__VA_ARGS__) + +#define OSPF_LOG_NOTICE(fmt, ...) OSPF_LOG(notice, true, fmt, ##__VA_ARGS__) /* structure useful for avoiding repeated rendering of the same timestamp */ struct timestamp_control {