log: define per-module logging for shared utils and plugins
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
|
||||
void
|
||||
_mm_log (gpointer obj,
|
||||
const gchar *module,
|
||||
const gchar *loc,
|
||||
const gchar *func,
|
||||
guint32 level,
|
||||
|
||||
@@ -203,6 +203,7 @@ log_backend_systemd_journal (const char *loc,
|
||||
|
||||
void
|
||||
_mm_log (gpointer obj,
|
||||
const gchar *module,
|
||||
const gchar *loc,
|
||||
const gchar *func,
|
||||
MMLogLevel level,
|
||||
@@ -248,6 +249,8 @@ _mm_log (gpointer obj,
|
||||
|
||||
if (obj)
|
||||
g_string_append_printf (msgbuf, "[%s] ", mm_log_object_get_id (MM_LOG_OBJECT (obj)));
|
||||
if (module)
|
||||
g_string_append_printf (msgbuf, "(%s) ", module);
|
||||
|
||||
va_start (args, fmt);
|
||||
g_string_append_vprintf (msgbuf, fmt, args);
|
||||
|
||||
+10
-5
@@ -27,10 +27,14 @@ typedef enum {
|
||||
MM_LOG_LEVEL_DEBUG = 0x00000008
|
||||
} MMLogLevel;
|
||||
|
||||
#define mm_obj_err(obj, ...) _mm_log (obj, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_ERR, ## __VA_ARGS__ )
|
||||
#define mm_obj_warn(obj, ...) _mm_log (obj, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_WARN, ## __VA_ARGS__ )
|
||||
#define mm_obj_info(obj, ...) _mm_log (obj, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_INFO, ## __VA_ARGS__ )
|
||||
#define mm_obj_dbg(obj, ...) _mm_log (obj, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_DEBUG, ## __VA_ARGS__ )
|
||||
#if !defined MM_MODULE_NAME
|
||||
# define MM_MODULE_NAME (const gchar *)NULL
|
||||
#endif
|
||||
|
||||
#define mm_obj_err(obj, ...) _mm_log (obj, MM_MODULE_NAME, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_ERR, ## __VA_ARGS__ )
|
||||
#define mm_obj_warn(obj, ...) _mm_log (obj, MM_MODULE_NAME, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_WARN, ## __VA_ARGS__ )
|
||||
#define mm_obj_info(obj, ...) _mm_log (obj, MM_MODULE_NAME, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_INFO, ## __VA_ARGS__ )
|
||||
#define mm_obj_dbg(obj, ...) _mm_log (obj, MM_MODULE_NAME, G_STRLOC, G_STRFUNC, MM_LOG_LEVEL_DEBUG, ## __VA_ARGS__ )
|
||||
|
||||
#define mm_err(...) mm_obj_err (NULL, ## __VA_ARGS__ )
|
||||
#define mm_warn(...) mm_obj_warn (NULL, ## __VA_ARGS__ )
|
||||
@@ -38,11 +42,12 @@ typedef enum {
|
||||
#define mm_dbg(...) mm_obj_dbg (NULL, ## __VA_ARGS__ )
|
||||
|
||||
void _mm_log (gpointer obj,
|
||||
const gchar *module,
|
||||
const gchar *loc,
|
||||
const gchar *func,
|
||||
MMLogLevel level,
|
||||
const gchar *fmt,
|
||||
...) __attribute__((__format__ (__printf__, 5, 6)));
|
||||
...) __attribute__((__format__ (__printf__, 6, 7)));
|
||||
|
||||
gboolean mm_log_set_level (const char *level, GError **error);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user