diff options
author | Thomas Haller <thaller@redhat.com> | 2015-04-18 14:21:54 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2015-04-22 11:26:54 +0200 |
commit | 5646418d675aaf45ab3deef6670f63c5f52f92dd (patch) | |
tree | af75b5f6f809e426639bb65570731bca66d5c0ef | |
parent | b0ad49f0a706f721c62627f871b299622c902850 (diff) | |
download | NetworkManager-5646418d675aaf45ab3deef6670f63c5f52f92dd.tar.gz |
platform: add _LOG() logging macros to linux platform
-rw-r--r-- | src/platform/nm-linux-platform.c | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index 5112538296..0876741774 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -67,10 +67,54 @@ /* This is only included for the translation of VLAN flags */ #include "nm-setting-vlan.h" +/*********************************************************************************************/ + +#define _LOG_DOMAIN LOGD_PLATFORM +#define _LOG_PREFIX_NAME "platform-linux" + +#define _LOG(level, domain, self, ...) \ + G_STMT_START { \ + const NMLogLevel __level = (level); \ + const NMLogDomain __domain = (domain); \ + \ + if (nm_logging_enabled (__level, __domain)) { \ + char __prefix[30] = _LOG_PREFIX_NAME; \ + const void *const __self = (self); \ + \ + if (__self && __self != nm_platform_try_get ()) \ + g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", _LOG_PREFIX_NAME, __self); \ + nm_log ((__level), (__domain), \ + "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \ + __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \ + } \ + } G_STMT_END +#define _LOG_LEVEL_ENABLED(level, domain) \ + ({ \ + const NMLogLevel __level = (level); \ + const NMLogDomain __domain = (domain); \ + \ + nm_logging_enabled (__level, __domain); \ + }) + +#ifdef NM_MORE_LOGGING +#define _LOGT_ENABLED() _LOG_LEVEL_ENABLED (LOGL_TRACE, _LOG_DOMAIN) +#define _LOGT(...) _LOG (LOGL_TRACE, _LOG_DOMAIN, platform, __VA_ARGS__) +#else +#define _LOGT_ENABLED() FALSE +#define _LOGT(...) G_STMT_START { (void) 0; } G_STMT_END +#endif + +#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DOMAIN, platform, __VA_ARGS__) +#define _LOGI(...) _LOG (LOGL_INFO , _LOG_DOMAIN, platform, __VA_ARGS__) +#define _LOGW(...) _LOG (LOGL_WARN , _LOG_DOMAIN, platform, __VA_ARGS__) +#define _LOGE(...) _LOG (LOGL_ERR , _LOG_DOMAIN, platform, __VA_ARGS__) + #define debug(...) nm_log_dbg (LOGD_PLATFORM, __VA_ARGS__) #define warning(...) nm_log_warn (LOGD_PLATFORM, __VA_ARGS__) #define error(...) nm_log_err (LOGD_PLATFORM, __VA_ARGS__) +/******************************************************************/ + #define return_type(t, name) \ G_STMT_START { \ if (out_name) \ |