aboutsummaryrefslogtreecommitdiff
path: root/src/mm-log.h
diff options
context:
space:
mode:
authorAleksander Morgado <aleksandermj@chromium.org>2022-09-13 12:09:58 +0000
committerAleksander Morgado <aleksandermj@chromium.org>2022-11-04 13:12:56 +0000
commit3592d98e5b9458a8b9ac9a42a130ec552e0d74da (patch)
treeba3757e63634085b3b800e3e042bd9e5c8af5c2f /src/mm-log.h
parentafb89bb78f4d099e114a76bce6096150d1bf1325 (diff)
log: new methods to check if a given logging level is enabled
There are certain cases where we perform a lot of data processing just for logging purposes. Having methods that let us know whether a given log level will be printed before doing all that data processing is useful.
Diffstat (limited to 'src/mm-log.h')
-rw-r--r--src/mm-log.h27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/mm-log.h b/src/mm-log.h
index 4102c3b6..b0dab7ae 100644
--- a/src/mm-log.h
+++ b/src/mm-log.h
@@ -50,6 +50,12 @@ typedef enum {
# define mm_dbg(...) mm_obj_dbg (NULL, ## __VA_ARGS__ )
#endif
+#define mm_log_err_enabled() mm_log_check_level_enabled (MM_LOG_LEVEL_ERR)
+#define mm_log_warn_enabled() mm_log_check_level_enabled (MM_LOG_LEVEL_WARN)
+#define mm_log_msg_enabled() mm_log_check_level_enabled (MM_LOG_LEVEL_MSG)
+#define mm_log_info_enabled() mm_log_check_level_enabled (MM_LOG_LEVEL_INFO)
+#define mm_log_debug_enabled() mm_log_check_level_enabled (MM_LOG_LEVEL_DEBUG)
+
void _mm_log (gpointer obj,
const gchar *module,
const gchar *loc,
@@ -58,16 +64,17 @@ void _mm_log (gpointer obj,
const gchar *fmt,
...) __attribute__((__format__ (__printf__, 6, 7)));
-gboolean mm_log_set_level (const gchar *level,
- GError **error);
-gboolean mm_log_setup (const gchar *level,
- const gchar *log_file,
- gboolean log_journal,
- gboolean show_ts,
- gboolean rel_ts,
- gboolean show_personal_info,
- GError **error);
-void mm_log_shutdown (void);
+gboolean mm_log_set_level (const gchar *level,
+ GError **error);
+gboolean mm_log_setup (const gchar *level,
+ const gchar *log_file,
+ gboolean log_journal,
+ gboolean show_ts,
+ gboolean rel_ts,
+ gboolean show_personal_info,
+ GError **error);
+gboolean mm_log_check_level_enabled (MMLogLevel level);
+void mm_log_shutdown (void);
/* Helper used when printing a string that may be personal
* info. Depending on the settings, we may print it as-is,