logging: declare default logging macros in "nm-logging.h"

The logging macros _LOGD(), etc. are specific to each
file as they format the message according to their context.

Still, they were cumbersome to define and their implementation
was repeated over and over (slightly different at times).

Move the declaration of these macros to "nm-logging.h".
The source file now only needs to define _NMLOG(), and either
_NMLOG_ENABLED() or _NMLOG_DOMAIN.

This reduces code duplication and encourages a common implementation
and usage of these macros.
This commit is contained in:
Thomas Haller
2015-08-20 00:07:14 +02:00
parent b557f91a1b
commit ad7cdfc766
12 changed files with 129 additions and 217 deletions

View File

@@ -31,16 +31,12 @@ _nm_device_log_self_to_device (t *self) \
return (NMDevice *) self; \ return (NMDevice *) self; \
} }
#define _LOG(level, domain, ...) \ #undef _NMLOG_ENABLED
#define _NMLOG_ENABLED(level, domain) ( nm_logging_enabled ((level), (domain)) )
#define _NMLOG(level, domain, ...) \
nm_log_obj ((level), (domain), (self), \ nm_log_obj ((level), (domain), (self), \
"(%s): " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \ "(%s): " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
(self) ? str_if_set (nm_device_get_iface (_nm_device_log_self_to_device (self)), "(null)") : "(none)" \ (self) ? str_if_set (nm_device_get_iface (_nm_device_log_self_to_device (self)), "(null)") : "(none)" \
_NM_UTILS_MACRO_REST(__VA_ARGS__)) _NM_UTILS_MACRO_REST(__VA_ARGS__))
#define _LOGT(domain, ...) _LOG (LOGL_TRACE, domain, __VA_ARGS__)
#define _LOGD(domain, ...) _LOG (LOGL_DEBUG, domain, __VA_ARGS__)
#define _LOGI(domain, ...) _LOG (LOGL_INFO, domain, __VA_ARGS__)
#define _LOGW(domain, ...) _LOG (LOGL_WARN, domain, __VA_ARGS__)
#define _LOGE(domain, ...) _LOG (LOGL_ERR, domain, __VA_ARGS__)
#endif /* __NETWORKMANAGER_DEVICE_LOGGING_H__ */ #endif /* __NETWORKMANAGER_DEVICE_LOGGING_H__ */

View File

@@ -20,7 +20,6 @@
#include "config.h" #include "config.h"
#include "nm-default.h" #include "nm-default.h"
#include "nm-active-connection.h" #include "nm-active-connection.h"
#include "nm-dbus-interface.h" #include "nm-dbus-interface.h"
@@ -104,43 +103,26 @@ static void _device_cleanup (NMActiveConnection *self);
/****************************************************************/ /****************************************************************/
#define _LOG_DOMAIN LOGD_DEVICE #define _NMLOG_DOMAIN LOGD_DEVICE
#define _LOG_PREFIX_NAME "active-connection" #define _NMLOG_PREFIX_NAME "active-connection"
#define _NMLOG(level, ...) \
#define _LOG(level, domain, self, ...) \
G_STMT_START { \ G_STMT_START { \
const NMLogLevel __level = (level); \ const NMLogLevel __level = (level); \
const NMLogDomain __domain = (domain); \
\ \
if (nm_logging_enabled (__level, __domain)) { \ if (nm_logging_enabled (__level, _NMLOG_DOMAIN)) { \
char __prefix[128]; \ char __prefix[128]; \
const char *__p_prefix = _LOG_PREFIX_NAME; \ const char *__p_prefix = _NMLOG_PREFIX_NAME; \
const void *const __self = (self); \ const void *const __self = (self); \
\ \
if (__self) { \ if (__self) { \
g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", _LOG_PREFIX_NAME, __self); \ g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", _NMLOG_PREFIX_NAME, __self); \
__p_prefix = __prefix; \ __p_prefix = __prefix; \
} \ } \
_nm_log (__level, __domain, 0, \ _nm_log (__level, _NMLOG_DOMAIN, 0, \
"%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \ "%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
__p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \ __p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
} \ } \
} G_STMT_END } G_STMT_END
#define _LOG_LEVEL_ENABLED(level, 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, self, __VA_ARGS__)
#else
#define _LOGT_ENABLED() FALSE
#define _LOGT(...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, _LOG_DOMAIN, self, __VA_ARGS__); } } G_STMT_END
#endif
#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGI(...) _LOG (LOGL_INFO , _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGW(...) _LOG (LOGL_WARN , _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGE(...) _LOG (LOGL_ERR , _LOG_DOMAIN, self, __VA_ARGS__)
/****************************************************************/ /****************************************************************/

View File

@@ -32,27 +32,21 @@
#define POLKIT_INTERFACE "org.freedesktop.PolicyKit1.Authority" #define POLKIT_INTERFACE "org.freedesktop.PolicyKit1.Authority"
#define _LOG_DEFAULT_DOMAIN LOGD_CORE #define _NMLOG_PREFIX_NAME "auth"
#define _NMLOG_DOMAIN LOGD_CORE
#define _LOG(level, domain, ...) \ #define _NMLOG(level, ...) \
G_STMT_START { \ G_STMT_START { \
if (nm_logging_enabled ((level), (domain))) { \ if (nm_logging_enabled ((level), (_NMLOG_DOMAIN))) { \
char __prefix[30] = "auth"; \ char __prefix[30] = _NMLOG_PREFIX_NAME; \
\ \
if ((self) != singleton_instance) \ if ((self) != singleton_instance) \
g_snprintf (__prefix, sizeof (__prefix), "auth[%p]", (self)); \ g_snprintf (__prefix, sizeof (__prefix), ""_NMLOG_PREFIX_NAME"[%p]", (self)); \
_nm_log ((level), (domain), 0, \ _nm_log ((level), (_NMLOG_DOMAIN), 0, \
"%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \ "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
__prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \ __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
} \ } \
} G_STMT_END } G_STMT_END
#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGI(...) _LOG (LOGL_INFO, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGW(...) _LOG (LOGL_WARN, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGE(...) _LOG (LOGL_ERR, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
enum { enum {
PROP_0, PROP_0,
PROP_POLKIT_ENABLED, PROP_POLKIT_ENABLED,

View File

@@ -26,7 +26,6 @@
#include <libsoup/soup.h> #include <libsoup/soup.h>
#endif #endif
#include "nm-default.h" #include "nm-default.h"
#include "nm-connectivity.h" #include "nm-connectivity.h"
#include "nm-config.h" #include "nm-config.h"
@@ -35,24 +34,15 @@ G_DEFINE_TYPE (NMConnectivity, nm_connectivity, G_TYPE_OBJECT)
#define NM_CONNECTIVITY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_CONNECTIVITY, NMConnectivityPrivate)) #define NM_CONNECTIVITY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_CONNECTIVITY, NMConnectivityPrivate))
#define _NMLOG_DOMAIN LOGD_CONCHECK
#define _LOG_DEFAULT_DOMAIN LOGD_CONCHECK #define _NMLOG(level, ...) \
#define _LOG(level, domain, ...) \
G_STMT_START { \ G_STMT_START { \
nm_log ((level), (domain), \ nm_log ((level), (_NMLOG_DOMAIN), \
"%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
"connectivity: " \ "connectivity: " \
_NM_UTILS_MACRO_REST(__VA_ARGS__)); \ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
} G_STMT_END } G_STMT_END
#define _LOGT(...) _LOG (LOGL_TRACE, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGI(...) _LOG (LOGL_INFO, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGW(...) _LOG (LOGL_WARN, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGE(...) _LOG (LOGL_ERR, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
typedef struct { typedef struct {
char *uri; char *uri;
char *response; char *response;

View File

@@ -21,11 +21,10 @@
#include "config.h" #include "config.h"
#include "nm-default-route-manager.h" #include <string.h>
#include "string.h"
#include "nm-default.h" #include "nm-default.h"
#include "nm-default-route-manager.h"
#include "nm-device.h" #include "nm-device.h"
#include "nm-vpn-connection.h" #include "nm-vpn-connection.h"
#include "nm-platform.h" #include "nm-platform.h"
@@ -62,7 +61,17 @@ G_DEFINE_TYPE (NMDefaultRouteManager, nm_default_route_manager, G_TYPE_OBJECT)
NM_DEFINE_SINGLETON_GETTER (NMDefaultRouteManager, nm_default_route_manager_get, NM_TYPE_DEFAULT_ROUTE_MANAGER); NM_DEFINE_SINGLETON_GETTER (NMDefaultRouteManager, nm_default_route_manager_get, NM_TYPE_DEFAULT_ROUTE_MANAGER);
#define _LOG(level, addr_family, ...) \ #define _NMLOG_PREFIX_NAME "default-route"
#undef _NMLOG_ENABLED
#define _NMLOG_ENABLED(level, addr_family) \
({ \
const int __addr_family = (addr_family); \
const NMLogLevel __level = (level); \
const NMLogDomain __domain = __addr_family == AF_INET ? LOGD_IP4 : (__addr_family == AF_INET6 ? LOGD_IP6 : LOGD_IP); \
\
nm_logging_enabled (__level, __domain); \
})
#define _NMLOG(level, addr_family, ...) \
G_STMT_START { \ G_STMT_START { \
const int __addr_family = (addr_family); \ const int __addr_family = (addr_family); \
const NMLogLevel __level = (level); \ const NMLogLevel __level = (level); \
@@ -70,23 +79,18 @@ NM_DEFINE_SINGLETON_GETTER (NMDefaultRouteManager, nm_default_route_manager_get,
\ \
if (nm_logging_enabled (__level, __domain)) { \ if (nm_logging_enabled (__level, __domain)) { \
char __ch = __addr_family == AF_INET ? '4' : (__addr_family == AF_INET6 ? '6' : '-'); \ char __ch = __addr_family == AF_INET ? '4' : (__addr_family == AF_INET6 ? '6' : '-'); \
char __prefix[30] = "default-route"; \ char __prefix[30] = _NMLOG_PREFIX_NAME; \
\ \
if ((self) != singleton_instance) \ if ((self) != singleton_instance) \
g_snprintf (__prefix, sizeof (__prefix), "default-route%c[%p]", __ch, (self)); \ g_snprintf (__prefix, sizeof (__prefix), ""_NMLOG_PREFIX_NAME"%c[%p]", __ch, (self)); \
else \ else \
__prefix[STRLEN ("default-route")] = __ch; \ __prefix[STRLEN (_NMLOG_PREFIX_NAME)] = __ch; \
_nm_log (__level, __domain, 0, \ _nm_log (__level, __domain, 0, \
"%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \ "%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
__prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \ __prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
} \ } \
} G_STMT_END } G_STMT_END
#define _LOGD(addr_family, ...) _LOG (LOGL_DEBUG, addr_family, __VA_ARGS__)
#define _LOGI(addr_family, ...) _LOG (LOGL_INFO , addr_family, __VA_ARGS__)
#define _LOGW(addr_family, ...) _LOG (LOGL_WARN , addr_family, __VA_ARGS__)
#define _LOGE(addr_family, ...) _LOG (LOGL_ERR , addr_family, __VA_ARGS__)
#define LOG_ENTRY_FMT "entry[%u/%s:%p:%s:%c:%csync]" #define LOG_ENTRY_FMT "entry[%u/%s:%p:%s:%c:%csync]"
#define LOG_ENTRY_ARGS(entry_idx, entry) \ #define LOG_ENTRY_ARGS(entry_idx, entry) \
(entry_idx), \ (entry_idx), \

View File

@@ -170,4 +170,35 @@ gboolean nm_logging_setup (const char *level,
GError **error); GError **error);
void nm_logging_syslog_openlog (const char *logging_backend); void nm_logging_syslog_openlog (const char *logging_backend);
/*****************************************************************************/
/* This is the default definition of _NMLOG_ENABLED(). Special implementations
* might want to undef this and redefine it. */
#define _NMLOG_ENABLED(level) ( nm_logging_enabled ((level), (_NMLOG_DOMAIN)) )
#define _LOGt(...) _NMLOG (LOGL_TRACE, __VA_ARGS__)
#define _LOGD(...) _NMLOG (LOGL_DEBUG, __VA_ARGS__)
#define _LOGI(...) _NMLOG (LOGL_INFO , __VA_ARGS__)
#define _LOGW(...) _NMLOG (LOGL_WARN , __VA_ARGS__)
#define _LOGE(...) _NMLOG (LOGL_ERR , __VA_ARGS__)
#define _LOGt_ENABLED(...) _NMLOG_ENABLED (LOGL_TRACE, ##__VA_ARGS__)
#define _LOGD_ENABLED(...) _NMLOG_ENABLED (LOGL_DEBUG, ##__VA_ARGS__)
#define _LOGI_ENABLED(...) _NMLOG_ENABLED (LOGL_INFO , ##__VA_ARGS__)
#define _LOGW_ENABLED(...) _NMLOG_ENABLED (LOGL_WARN , ##__VA_ARGS__)
#define _LOGE_ENABLED(...) _NMLOG_ENABLED (LOGL_ERR , ##__VA_ARGS__)
/* _LOGt() and _LOGT() both log with level TRACE, but the latter is disabled by default,
* unless building with --with-more-logging. */
#ifdef NM_MORE_LOGGING
#define _LOGT_ENABLED(...) _NMLOG_ENABLED (LOGL_TRACE, ##__VA_ARGS__)
#define _LOGT(...) _NMLOG (LOGL_TRACE, __VA_ARGS__)
#else
/* still call the logging macros to get compile time checks, but they will be optimize out. */
#define _LOGT_ENABLED(...) ( FALSE && (_NMLOG_ENABLED (LOGL_TRACE, ##__VA_ARGS__)) )
#define _LOGT(...) G_STMT_START { if (FALSE) { _NMLOG (LOGL_TRACE, __VA_ARGS__); } } G_STMT_END
#endif
/*****************************************************************************/
#endif /* __NETWORKMANAGER_LOGGING_H__ */ #endif /* __NETWORKMANAGER_LOGGING_H__ */

View File

@@ -18,10 +18,10 @@
* Copyright (C) 2015 Red Hat, Inc. * Copyright (C) 2015 Red Hat, Inc.
*/ */
#include <string.h>
#include "config.h" #include "config.h"
#include <string.h>
#include "nm-route-manager.h" #include "nm-route-manager.h"
#include "nm-platform.h" #include "nm-platform.h"
#include "nmp-object.h" #include "nmp-object.h"
@@ -111,28 +111,9 @@ static const VTableIP vtable_v4, vtable_v6;
/*********************************************************************************************/ /*********************************************************************************************/
#define _LOG_PREFIX_NAME "route-mgr" #define _NMLOG_PREFIX_NAME "route-mgr"
#undef _NMLOG_ENABLED
#define _LOG(level, addr_family, ...) \ #define _NMLOG_ENABLED(level, addr_family) \
G_STMT_START { \
const int __addr_family = (addr_family); \
const NMLogLevel __level = (level); \
const NMLogDomain __domain = __addr_family == AF_INET ? LOGD_IP4 : (__addr_family == AF_INET6 ? LOGD_IP6 : LOGD_IP); \
\
if (nm_logging_enabled (__level, __domain)) { \
char __ch = __addr_family == AF_INET ? '4' : (__addr_family == AF_INET6 ? '6' : '-'); \
char __prefix[30] = _LOG_PREFIX_NAME; \
\
if ((self) != singleton_instance) \
g_snprintf (__prefix, sizeof (__prefix), "%s%c[%p]", _LOG_PREFIX_NAME, __ch, (self)); \
else \
__prefix[STRLEN (_LOG_PREFIX_NAME)] = __ch; \
_nm_log ((level), (__domain), 0, \
"%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
__prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
} \
} G_STMT_END
#define _LOG_LEVEL_ENABLED(level, addr_family) \
({ \ ({ \
const int __addr_family = (addr_family); \ const int __addr_family = (addr_family); \
const NMLogLevel __level = (level); \ const NMLogLevel __level = (level); \
@@ -140,19 +121,25 @@ static const VTableIP vtable_v4, vtable_v6;
\ \
nm_logging_enabled (__level, __domain); \ nm_logging_enabled (__level, __domain); \
}) })
#define _NMLOG(level, addr_family, ...) \
#ifdef NM_MORE_LOGGING G_STMT_START { \
#define _LOGT_ENABLED(addr_family) _LOG_LEVEL_ENABLED (LOGL_TRACE, addr_family) const int __addr_family = (addr_family); \
#define _LOGT(addr_family, ...) _LOG (LOGL_TRACE, addr_family, __VA_ARGS__) const NMLogLevel __level = (level); \
#else const NMLogDomain __domain = __addr_family == AF_INET ? LOGD_IP4 : (__addr_family == AF_INET6 ? LOGD_IP6 : LOGD_IP); \
#define _LOGT_ENABLED(addr_family) (FALSE && _LOG_LEVEL_ENABLED (LOGL_TRACE, addr_family)) \
#define _LOGT(addr_family, ...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, addr_family, __VA_ARGS__); } } G_STMT_END if (nm_logging_enabled (__level, __domain)) { \
#endif char __ch = __addr_family == AF_INET ? '4' : (__addr_family == AF_INET6 ? '6' : '-'); \
char __prefix[30] = _NMLOG_PREFIX_NAME; \
#define _LOGD(addr_family, ...) _LOG (LOGL_DEBUG, addr_family, __VA_ARGS__) \
#define _LOGI(addr_family, ...) _LOG (LOGL_INFO , addr_family, __VA_ARGS__) if ((self) != singleton_instance) \
#define _LOGW(addr_family, ...) _LOG (LOGL_WARN , addr_family, __VA_ARGS__) g_snprintf (__prefix, sizeof (__prefix), "%s%c[%p]", _NMLOG_PREFIX_NAME, __ch, (self)); \
#define _LOGE(addr_family, ...) _LOG (LOGL_ERR , addr_family, __VA_ARGS__) else \
__prefix[STRLEN (_NMLOG_PREFIX_NAME)] = __ch; \
_nm_log ((level), (__domain), 0, \
"%s: " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
__prefix _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
} \
} G_STMT_END
/*********************************************************************************************/ /*********************************************************************************************/

View File

@@ -66,8 +66,9 @@
/*********************************************************************************************/ /*********************************************************************************************/
#define _LOG_DOMAIN LOGD_PLATFORM #define _NMLOG_DOMAIN LOGD_PLATFORM
#define _LOG_PREFIX_NAME "platform-linux" #define _NMLOG_PREFIX_NAME "platform-linux"
#define _NMLOG(level, ...) _LOG(level, _NMLOG_DOMAIN, platform, __VA_ARGS__)
#define _LOG(level, domain, self, ...) \ #define _LOG(level, domain, self, ...) \
G_STMT_START { \ G_STMT_START { \
@@ -76,11 +77,11 @@
\ \
if (nm_logging_enabled (__level, __domain)) { \ if (nm_logging_enabled (__level, __domain)) { \
char __prefix[32]; \ char __prefix[32]; \
const char *__p_prefix = _LOG_PREFIX_NAME; \ const char *__p_prefix = _NMLOG_PREFIX_NAME; \
const void *const __self = (self); \ const void *const __self = (self); \
\ \
if (__self && __self != nm_platform_try_get ()) { \ if (__self && __self != nm_platform_try_get ()) { \
g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", _LOG_PREFIX_NAME, __self); \ g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", _NMLOG_PREFIX_NAME, __self); \
__p_prefix = __prefix; \ __p_prefix = __prefix; \
} \ } \
_nm_log (__level, __domain, 0, \ _nm_log (__level, __domain, 0, \
@@ -88,25 +89,10 @@
__p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \ __p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
} \ } \
} G_STMT_END } G_STMT_END
#define _LOG_LEVEL_ENABLED(level, domain) \
( nm_logging_enabled ((level), (domain)) )
#ifdef NM_MORE_LOGGING #define debug(...) _LOG (LOGL_DEBUG, _NMLOG_DOMAIN, NULL, __VA_ARGS__)
#define _LOGT_ENABLED() _LOG_LEVEL_ENABLED (LOGL_TRACE, _LOG_DOMAIN) #define warning(...) _LOG (LOGL_WARN , _NMLOG_DOMAIN, NULL, __VA_ARGS__)
#define _LOGT(...) _LOG (LOGL_TRACE, _LOG_DOMAIN, platform, __VA_ARGS__) #define error(...) _LOG (LOGL_ERR , _NMLOG_DOMAIN, NULL, __VA_ARGS__)
#else
#define _LOGT_ENABLED() FALSE
#define _LOGT(...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, _LOG_DOMAIN, platform, __VA_ARGS__); } } 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(...) _LOG (LOGL_DEBUG, _LOG_DOMAIN, NULL, __VA_ARGS__)
#define warning(...) _LOG (LOGL_WARN , _LOG_DOMAIN, NULL, __VA_ARGS__)
#define error(...) _LOG (LOGL_ERR , _LOG_DOMAIN, NULL, __VA_ARGS__)
/****************************************************************** /******************************************************************
* Forward declarations and enums * Forward declarations and enums

View File

@@ -42,43 +42,26 @@
G_STATIC_ASSERT (sizeof ( ((NMPlatformLink *) NULL)->addr.data ) == NM_UTILS_HWADDR_LEN_MAX); G_STATIC_ASSERT (sizeof ( ((NMPlatformLink *) NULL)->addr.data ) == NM_UTILS_HWADDR_LEN_MAX);
#define _LOG_DOMAIN LOGD_PLATFORM #define _NMLOG_DOMAIN LOGD_PLATFORM
#define _LOG_PREFIX_NAME "platform" #define _NMLOG_PREFIX_NAME "platform"
#define _NMLOG(level, ...) \
#define _LOG(level, domain, self, ...) \
G_STMT_START { \ G_STMT_START { \
const NMLogLevel __level = (level); \ const NMLogLevel __level = (level); \
const NMLogDomain __domain = (domain); \
\ \
if (nm_logging_enabled (__level, __domain)) { \ if (nm_logging_enabled (__level, _NMLOG_DOMAIN)) { \
char __prefix[32]; \ char __prefix[32]; \
const char *__p_prefix = _LOG_PREFIX_NAME; \ const char *__p_prefix = _NMLOG_PREFIX_NAME; \
const void *const __self = (self); \ const void *const __self = (self); \
\ \
if (__self && __self != nm_platform_try_get ()) { \ if (__self && __self != nm_platform_try_get ()) { \
g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", _LOG_PREFIX_NAME, __self); \ g_snprintf (__prefix, sizeof (__prefix), "%s[%p]", _NMLOG_PREFIX_NAME, __self); \
__p_prefix = __prefix; \ __p_prefix = __prefix; \
} \ } \
_nm_log (__level, __domain, 0, \ _nm_log (__level, _NMLOG_DOMAIN, 0, \
"%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \ "%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
__p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \ __p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
} \ } \
} G_STMT_END } G_STMT_END
#define _LOG_LEVEL_ENABLED(level, 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, self, __VA_ARGS__)
#else
#define _LOGT_ENABLED() FALSE
#define _LOGT(...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, _LOG_DOMAIN, self, __VA_ARGS__); } } G_STMT_END
#endif
#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGI(...) _LOG (LOGL_INFO , _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGW(...) _LOG (LOGL_WARN , _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGE(...) _LOG (LOGL_ERR , _LOG_DOMAIN, self, __VA_ARGS__)
#define NM_PLATFORM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_PLATFORM, NMPlatformPrivate)) #define NM_PLATFORM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_PLATFORM, NMPlatformPrivate))
@@ -1877,7 +1860,7 @@ nm_platform_ip4_address_add (NMPlatform *self,
g_return_val_if_fail (klass->ip4_address_add, FALSE); g_return_val_if_fail (klass->ip4_address_add, FALSE);
g_return_val_if_fail (!label || strlen (label) < sizeof (((NMPlatformIP4Address *) NULL)->label), FALSE); g_return_val_if_fail (!label || strlen (label) < sizeof (((NMPlatformIP4Address *) NULL)->label), FALSE);
if (nm_logging_enabled (LOGL_DEBUG, LOGD_PLATFORM)) { if (_LOGD_ENABLED ()) {
NMPlatformIP4Address addr = { 0 }; NMPlatformIP4Address addr = { 0 };
addr.ifindex = ifindex; addr.ifindex = ifindex;
@@ -1913,7 +1896,7 @@ nm_platform_ip6_address_add (NMPlatform *self,
g_return_val_if_fail (preferred <= lifetime, FALSE); g_return_val_if_fail (preferred <= lifetime, FALSE);
g_return_val_if_fail (klass->ip6_address_add, FALSE); g_return_val_if_fail (klass->ip6_address_add, FALSE);
if (nm_logging_enabled (LOGL_DEBUG, LOGD_PLATFORM)) { if (_LOGD_ENABLED ()) {
NMPlatformIP6Address addr = { 0 }; NMPlatformIP6Address addr = { 0 };
addr.ifindex = ifindex; addr.ifindex = ifindex;
@@ -2194,7 +2177,7 @@ nm_platform_ip4_route_add (NMPlatform *self,
g_return_val_if_fail (0 <= plen && plen <= 32, FALSE); g_return_val_if_fail (0 <= plen && plen <= 32, FALSE);
g_return_val_if_fail (klass->ip4_route_add, FALSE); g_return_val_if_fail (klass->ip4_route_add, FALSE);
if (nm_logging_enabled (LOGL_DEBUG, LOGD_PLATFORM)) { if (_LOGD_ENABLED ()) {
NMPlatformIP4Route route = { 0 }; NMPlatformIP4Route route = { 0 };
route.ifindex = ifindex; route.ifindex = ifindex;
@@ -2222,7 +2205,7 @@ nm_platform_ip6_route_add (NMPlatform *self,
g_return_val_if_fail (0 <= plen && plen <= 128, FALSE); g_return_val_if_fail (0 <= plen && plen <= 128, FALSE);
g_return_val_if_fail (klass->ip6_route_add, FALSE); g_return_val_if_fail (klass->ip6_route_add, FALSE);
if (nm_logging_enabled (LOGL_DEBUG, LOGD_PLATFORM)) { if (_LOGD_ENABLED ()) {
NMPlatformIP6Route route = { 0 }; NMPlatformIP6Route route = { 0 };
route.ifindex = ifindex; route.ifindex = ifindex;

View File

@@ -18,49 +18,33 @@
* Copyright (C) 2015 Red Hat, Inc. * Copyright (C) 2015 Red Hat, Inc.
*/ */
#include "nmp-object.h" #include "config.h"
#include <unistd.h> #include <unistd.h>
#include "nm-default.h"
#include "nmp-object.h"
#include "nm-platform-utils.h" #include "nm-platform-utils.h"
#include "NetworkManagerUtils.h" #include "NetworkManagerUtils.h"
#include "nm-utils.h" #include "nm-utils.h"
#include "nm-default.h"
/*********************************************************************************************/ /*********************************************************************************************/
#define _LOG_DOMAIN LOGD_PLATFORM #define _NMLOG_DOMAIN LOGD_PLATFORM
#define _NMLOG(level, obj, ...) \
#define _LOG(level, domain, obj, ...) \
G_STMT_START { \ G_STMT_START { \
const NMLogLevel __level = (level); \ const NMLogLevel __level = (level); \
const NMLogDomain __domain = (domain); \
\ \
if (nm_logging_enabled (__level, __domain)) { \ if (nm_logging_enabled (__level, _NMLOG_DOMAIN)) { \
const NMPObject *const __obj = (obj); \ const NMPObject *const __obj = (obj); \
\ \
_nm_log (__level, __domain, 0, \ _nm_log (__level, _NMLOG_DOMAIN, 0, \
"nmp-object[%p/%s]: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \ "nmp-object[%p/%s]: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
__obj, \ __obj, \
(__obj ? NMP_OBJECT_GET_CLASS (__obj)->obj_type_name : "???") \ (__obj ? NMP_OBJECT_GET_CLASS (__obj)->obj_type_name : "???") \
_NM_UTILS_MACRO_REST (__VA_ARGS__)); \ _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
} \ } \
} G_STMT_END } G_STMT_END
#define _LOG_LEVEL_ENABLED(level, domain) \
( nm_logging_enabled ((level), (domain)) )
#ifdef NM_MORE_LOGGING
#define _LOGT_ENABLED() _LOG_LEVEL_ENABLED (LOGL_TRACE, _LOG_DOMAIN)
#define _LOGT(obj, ...) _LOG (LOGL_TRACE, _LOG_DOMAIN, obj, __VA_ARGS__)
#else
#define _LOGT_ENABLED() FALSE
#define _LOGT(obj, ...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, _LOG_DOMAIN, obj, __VA_ARGS__); } } G_STMT_END
#endif
#define _LOGD(obj, ...) _LOG (LOGL_DEBUG, _LOG_DOMAIN, obj, __VA_ARGS__)
#define _LOGI(obj, ...) _LOG (LOGL_INFO , _LOG_DOMAIN, obj, __VA_ARGS__)
#define _LOGW(obj, ...) _LOG (LOGL_WARN , _LOG_DOMAIN, obj, __VA_ARGS__)
#define _LOGE(obj, ...) _LOG (LOGL_ERR , _LOG_DOMAIN, obj, __VA_ARGS__)
/*********************************************************************************************/ /*********************************************************************************************/

View File

@@ -23,9 +23,8 @@
#include <string.h> #include <string.h>
#include <nm-dbus-interface.h>
#include "nm-default.h" #include "nm-default.h"
#include "nm-dbus-interface.h"
#include "nm-settings-connection.h" #include "nm-settings-connection.h"
#include "nm-session-monitor.h" #include "nm-session-monitor.h"
#include "nm-auth-utils.h" #include "nm-auth-utils.h"
@@ -40,45 +39,28 @@
#define SETTINGS_TIMESTAMPS_FILE NMSTATEDIR "/timestamps" #define SETTINGS_TIMESTAMPS_FILE NMSTATEDIR "/timestamps"
#define SETTINGS_SEEN_BSSIDS_FILE NMSTATEDIR "/seen-bssids" #define SETTINGS_SEEN_BSSIDS_FILE NMSTATEDIR "/seen-bssids"
#define _LOG_DOMAIN LOGD_SETTINGS #define _NMLOG_DOMAIN LOGD_SETTINGS
#define _LOG_PREFIX_NAME "settings-connection" #define _NMLOG_PREFIX_NAME "settings-connection"
#define _NMLOG(level, ...) \
#define _LOG(level, domain, self, ...) \
G_STMT_START { \ G_STMT_START { \
const NMLogLevel __level = (level); \ const NMLogLevel __level = (level); \
const NMLogDomain __domain = (domain); \
\ \
if (nm_logging_enabled (__level, __domain)) { \ if (nm_logging_enabled (__level, _NMLOG_DOMAIN)) { \
char __prefix[128]; \ char __prefix[128]; \
const char *__p_prefix = _LOG_PREFIX_NAME; \ const char *__p_prefix = _NMLOG_PREFIX_NAME; \
const void *const __self = (self); \ const void *const __self = (self); \
\ \
if (__self) { \ if (__self) { \
const char *__uuid = nm_connection_get_uuid ((NMConnection *) __self); \ const char *__uuid = nm_connection_get_uuid ((NMConnection *) __self); \
\ \
g_snprintf (__prefix, sizeof (__prefix), "%s[%p%s%s]", _LOG_PREFIX_NAME, __self, __uuid ? "," : "", __uuid ? __uuid : ""); \ g_snprintf (__prefix, sizeof (__prefix), "%s[%p%s%s]", _NMLOG_PREFIX_NAME, __self, __uuid ? "," : "", __uuid ? __uuid : ""); \
__p_prefix = __prefix; \ __p_prefix = __prefix; \
} \ } \
_nm_log (__level, __domain, 0, \ _nm_log (__level, _NMLOG_DOMAIN, 0, \
"%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \ "%s: " _NM_UTILS_MACRO_FIRST (__VA_ARGS__), \
__p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \ __p_prefix _NM_UTILS_MACRO_REST (__VA_ARGS__)); \
} \ } \
} G_STMT_END } G_STMT_END
#define _LOG_LEVEL_ENABLED(level, 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, self, __VA_ARGS__)
#else
#define _LOGT_ENABLED() FALSE
#define _LOGT(...) G_STMT_START { if (FALSE) { _LOG (LOGL_TRACE, _LOG_DOMAIN, self, __VA_ARGS__); } } G_STMT_END
#endif
#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGI(...) _LOG (LOGL_INFO , _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGW(...) _LOG (LOGL_WARN , _LOG_DOMAIN, self, __VA_ARGS__)
#define _LOGE(...) _LOG (LOGL_ERR , _LOG_DOMAIN, self, __VA_ARGS__)
static void nm_settings_connection_connection_interface_init (NMConnectionInterface *iface); static void nm_settings_connection_connection_interface_init (NMConnectionInterface *iface);

View File

@@ -35,7 +35,7 @@
#include <selinux/selinux.h> #include <selinux/selinux.h>
#endif #endif
#include <nm-setting-connection.h> #include "nm-setting-connection.h"
#include "nm-default.h" #include "nm-default.h"
#include "common.h" #include "common.h"
@@ -56,22 +56,15 @@
#define IFCFGRH1_DBUS_SERVICE_NAME "com.redhat.ifcfgrh1" #define IFCFGRH1_DBUS_SERVICE_NAME "com.redhat.ifcfgrh1"
#define IFCFGRH1_DBUS_OBJECT_PATH "/com/redhat/ifcfgrh1" #define IFCFGRH1_DBUS_OBJECT_PATH "/com/redhat/ifcfgrh1"
#define _LOG_DEFAULT_DOMAIN LOGD_SETTINGS #define _NMLOG_DOMAIN LOGD_SETTINGS
#define _NMLOG(level, ...) \
#define _LOG(level, domain, ...) \
G_STMT_START { \ G_STMT_START { \
nm_log ((level), (domain), \ nm_log ((level), (_NMLOG_DOMAIN), \
"%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \ "%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), \
"ifcfg-rh: " \ "ifcfg-rh: " \
_NM_UTILS_MACRO_REST(__VA_ARGS__)); \ _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
} G_STMT_END } G_STMT_END
#define _LOGT(...) _LOG (LOGL_TRACE, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGD(...) _LOG (LOGL_DEBUG, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGI(...) _LOG (LOGL_INFO, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGW(...) _LOG (LOGL_WARN, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define _LOGE(...) _LOG (LOGL_ERR, _LOG_DEFAULT_DOMAIN, __VA_ARGS__)
#define ERR_GET_MSG(err) (((err) && (err)->message) ? (err)->message : "(unknown)") #define ERR_GET_MSG(err) (((err) && (err)->message) ? (err)->message : "(unknown)")