Commit b52e8b25 authored by Daniel Verkamp's avatar Daniel Verkamp Committed by Jim Harris
Browse files

log: add SPDK_INFOLOG() macro



SPDK_INFOLOG() is comparable to SPDK_DEBUGLOG() in that it takes a
per-component trace flag, but it is available even in non-debug builds.

This patch also makes SPDK_LOG_REGISTER_TRACE_FLAG() active for all
builds, not just debug builds.

Change-Id: I9727b1a20bd1efa0f97b743d4f529c2b1f6be112
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/375835


Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent 932a186b
Loading
Loading
Loading
Loading
+10 −2
Original line number Diff line number Diff line
@@ -53,7 +53,6 @@ void spdk_log_register_trace_flag(const char *name, struct spdk_trace_flag *flag
struct spdk_trace_flag *spdk_log_get_first_trace_flag(void);
struct spdk_trace_flag *spdk_log_get_next_trace_flag(struct spdk_trace_flag *flag);

#ifdef DEBUG
#define SPDK_LOG_REGISTER_TRACE_FLAG(str, flag) \
struct spdk_trace_flag flag = { \
	.enabled = false, \
@@ -64,6 +63,16 @@ __attribute__((constructor)) static void register_trace_flag_##flag(void) \
	spdk_log_register_trace_flag(str, &flag); \
}

#define SPDK_INFOLOG(FLAG, ...)									\
	do {											\
		extern struct spdk_trace_flag FLAG;						\
		if (FLAG.enabled) {								\
			spdk_log(SPDK_LOG_INFO, __FILE__, __LINE__, __func__, __VA_ARGS__);	\
		}										\
	} while (0)

#ifdef DEBUG

#define SPDK_DEBUGLOG(FLAG, ...)								\
	do {											\
		extern struct spdk_trace_flag FLAG;						\
@@ -81,7 +90,6 @@ __attribute__((constructor)) static void register_trace_flag_##flag(void) \
	} while (0)

#else
#define SPDK_LOG_REGISTER_TRACE_FLAG(str, flag)
#define SPDK_DEBUGLOG(...) do { } while (0)
#define SPDK_TRACEDUMP(...) do { } while (0)
#endif