summary refs log tree commit diff
path: root/src/nm-logging.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-logging.h')
-rw-r--r--src/nm-logging.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/nm-logging.h b/src/nm-logging.h
index 97102770..27f89f5d 100644
--- a/src/nm-logging.h
+++ b/src/nm-logging.h
@@ -64,6 +64,7 @@ typedef enum  { /*< skip >*/
 	LOGD_DCB        = (1LL << 32), /* Data Center Bridging */
 	LOGD_DISPATCH   = (1LL << 33),
 	LOGD_AUDIT      = (1LL << 34),
+	LOGD_SYSTEMD    = (1LL << 35),
 
 	__LOGD_MAX,
 	LOGD_ALL       = ((__LOGD_MAX - 1LL) << 1) - 1LL,
@@ -118,30 +119,32 @@ typedef enum  { /*< skip >*/
     } G_STMT_END
 
 
-#define _nm_log_ptr(level, domain, self, ...) \
-   nm_log ((level), (domain), "[%p] " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), self _NM_UTILS_MACRO_REST(__VA_ARGS__))
+#define _nm_log_ptr(level, domain, self, prefix, ...) \
+   nm_log ((level), (domain), "%s[%p] " _NM_UTILS_MACRO_FIRST(__VA_ARGS__), (prefix) ?: "", self _NM_UTILS_MACRO_REST(__VA_ARGS__))
 
 /* log a message for an object (with providing a generic @self pointer) */
-#define nm_log_ptr(level, domain, self, ...) \
+#define nm_log_ptr(level, domain, self, prefix, ...) \
     G_STMT_START { \
         NM_PRAGMA_WARNING_DISABLE("-Wtautological-compare") \
         if ((level) <= LOGL_DEBUG) { \
-            _nm_log_ptr ((level), (domain), (self), __VA_ARGS__); \
+            _nm_log_ptr ((level), (domain), (self), (prefix), __VA_ARGS__); \
         } else { \
-            nm_log ((level), (domain), __VA_ARGS__); \
+            const char *__prefix = (prefix); \
+            \
+            nm_log ((level), (domain), "%s%s" _NM_UTILS_MACRO_FIRST(__VA_ARGS__), __prefix ?: "", __prefix ? " " : "" _NM_UTILS_MACRO_REST(__VA_ARGS__)); \
         } \
         NM_PRAGMA_WARNING_REENABLE \
     } G_STMT_END
 
 
-#define _nm_log_obj(level, domain, self, ...) \
-    _nm_log_ptr ((level), (domain), (self), __VA_ARGS__)
+#define _nm_log_obj(level, domain, self, prefix, ...) \
+    _nm_log_ptr ((level), (domain), (self), prefix, __VA_ARGS__)
 
 /* log a message for an object (with providing a @self pointer to a GObject).
  * Contrary to nm_log_ptr(), @self must be a GObject type (or %NULL).
  * As of now, nm_log_obj() is identical to nm_log_ptr(), but we might change that */
-#define nm_log_obj(level, domain, self, ...) \
-    nm_log_ptr ((level), (domain), (self), __VA_ARGS__)
+#define nm_log_obj(level, domain, self, prefix, ...) \
+    nm_log_ptr ((level), (domain), (self), prefix, __VA_ARGS__)
 
 
 void _nm_log_impl (const char *file,