Debug Logging¶
-
gboolean
wp_log_level_is_enabled
(GLogLevelFlags log_level)¶ Use this to figure out if a debug message is going to be printed or not, so that you can avoid allocating resources just for debug logging purposes.
- Return
- whether the log level is currently enabled
- Parameters
log_level
: a log level
-
void
wp_log_set_level
(const gchar * level_str)¶ Configures the log level and enabled categories.
- Parameters
level_str
: a log level description string as it would appear in the WIREPLUMBER_DEBUG environment variable “level:category1,category2”
-
GLogWriterOutput
wp_log_writer_default
(GLogLevelFlags log_level, const GLogField * fields, gsize n_fields, gpointer user_data)¶ WirePlumber’s GLogWriterFunc.
This is installed automatically when you call wp_init() with WP_INIT_SET_GLIB_LOG set in the flags
-
void
wp_log_structured_standard
(const gchar * log_domain, GLogLevelFlags log_level, const gchar * file, const gchar * line, const gchar * func, GType object_type, gconstpointer object, const gchar * message_format, ...)¶ Used internally by the debug logging macros. Avoid using it directly.
-
struct spa_log*
wp_spa_log_get_instance
(void)¶ Gets WirePlumber’s instance of
spa_log
- Return
- WirePlumber’s instance of
spa_log
, which can be used to redirect PipeWire’s log messages to the currently installed GLogWriterFunc. This is installed automatically when you call wp_init() with WP_INIT_SET_PW_LOG set in the flags
-
WP_LOG_LEVEL_TRACE
(1 << G_LOG_LEVEL_USER_SHIFT)¶ A custom GLib log level for trace messages (see GLogLevelFlags)
-
WP_OBJECT_FORMAT
“<%s:%p>”¶ A format string to print GObjects with WP_OBJECT_ARGS() For example:
GObject *myobj = ...; wp_debug ("This: " WP_OBJECT_FORMAT " is an object", WP_OBJECT_ARGS (myobj));
-
WP_OBJECT_ARGS
(object) (object ? G_OBJECT_TYPE_NAME(object) : “invalid”), object¶ A macro to format an object for printing with WP_OBJECT_FORMAT.
-
wp_critical
(...) wp_log (G_LOG_LEVEL_CRITICAL, 0, NULL, __VA_ARGS__)¶ Logs a critical message to the standard log via GLib’s logging system.
- Parameters
...
: A format string, followed by format arguments in printf() style
-
wp_critical_object
(object, ...) wp_log (G_LOG_LEVEL_CRITICAL, (object) ? G_TYPE_FROM_INSTANCE (object) : G_TYPE_NONE, object, __VA_ARGS__)¶ Logs a critical message to the standard log via GLib’s logging system.
- Parameters
object
: A GObject associated with the log; this is printed in a special way to make it easier to track messages from a specific object...
: A format string, followed by format arguments in printf() style
-
wp_critical_boxed
(type, object, ...) wp_log (G_LOG_LEVEL_CRITICAL, type, object, __VA_ARGS__)¶ Logs a critical message to the standard log via GLib’s logging system.
- Parameters
type
: The type of objectobject
: A boxed object associated with the log; this is printed in a special way to make it easier to track messages from a specific object. For some object types, contents from the object are also printed (ex WpSpaPod)...
: A format string, followed by format arguments in printf() style
-
wp_warning
(...) wp_log (G_LOG_LEVEL_WARNING, 0, NULL, __VA_ARGS__)¶ Logs a warning message to the standard log via GLib’s logging system.
- Parameters
...
: A format string, followed by format arguments in printf() style
-
wp_warning_object
(object, ...) wp_log (G_LOG_LEVEL_WARNING, (object) ? G_TYPE_FROM_INSTANCE (object) : G_TYPE_NONE, object, __VA_ARGS__)¶ Logs a warning message to the standard log via GLib’s logging system.
- Parameters
object
: A GObject associated with the log; this is printed in a special way to make it easier to track messages from a specific object...
: A format string, followed by format arguments in printf() style
-
wp_warning_boxed
(type, object, ...) wp_log (G_LOG_LEVEL_WARNING, type, object, __VA_ARGS__)¶ Logs a warning message to the standard log via GLib’s logging system.
- Parameters
type
: The type of objectobject
: A boxed object associated with the log; this is printed in a special way to make it easier to track messages from a specific object. For some object types, contents from the object are also printed (ex WpSpaPod)...
: A format string, followed by format arguments in printf() style
-
wp_message
(...) wp_log (G_LOG_LEVEL_MESSAGE, 0, NULL, __VA_ARGS__)¶ Logs a standard message to the standard log via GLib’s logging system.
- Parameters
...
: A format string, followed by format arguments in printf() style
-
wp_message_object
(object, ...) wp_log (G_LOG_LEVEL_MESSAGE, (object) ? G_TYPE_FROM_INSTANCE (object) : G_TYPE_NONE, object, __VA_ARGS__)¶ Logs a standard message to the standard log via GLib’s logging system.
- Parameters
object
: A GObject associated with the log; this is printed in a special way to make it easier to track messages from a specific object...
: A format string, followed by format arguments in printf() style
-
wp_message_boxed
(type, object, ...) wp_log (G_LOG_LEVEL_MESSAGE, type, object, __VA_ARGS__)¶ Logs a standard message to the standard log via GLib’s logging system.
- Parameters
type
: The type of objectobject
: A boxed object associated with the log; this is printed in a special way to make it easier to track messages from a specific object. For some object types, contents from the object are also printed (ex WpSpaPod)...
: A format string, followed by format arguments in printf() style
-
wp_info
(...) wp_log (G_LOG_LEVEL_INFO, 0, NULL, __VA_ARGS__)¶ Logs a info message to the standard log via GLib’s logging system.
- Parameters
...
: A format string, followed by format arguments in printf() style
-
wp_info_object
(object, ...) wp_log (G_LOG_LEVEL_INFO, (object) ? G_TYPE_FROM_INSTANCE (object) : G_TYPE_NONE, object, __VA_ARGS__)¶ Logs a info message to the standard log via GLib’s logging system.
- Parameters
object
: A GObject associated with the log; this is printed in a special way to make it easier to track messages from a specific object...
: A format string, followed by format arguments in printf() style
-
wp_info_boxed
(type, object, ...) wp_log (G_LOG_LEVEL_INFO, type, object, __VA_ARGS__)¶ Logs a info message to the standard log via GLib’s logging system.
- Parameters
type
: The type of objectobject
: A boxed object associated with the log; this is printed in a special way to make it easier to track messages from a specific object. For some object types, contents from the object are also printed (ex WpSpaPod)...
: A format string, followed by format arguments in printf() style
-
wp_debug
(...) wp_log (G_LOG_LEVEL_DEBUG, 0, NULL, __VA_ARGS__)¶ Logs a debug message to the standard log via GLib’s logging system.
- Parameters
...
: A format string, followed by format arguments in printf() style
-
wp_debug_object
(object, ...) wp_log (G_LOG_LEVEL_DEBUG, (object) ? G_TYPE_FROM_INSTANCE (object) : G_TYPE_NONE, object, __VA_ARGS__)¶ Logs a debug message to the standard log via GLib’s logging system.
- Parameters
object
: A GObject associated with the log; this is printed in a special way to make it easier to track messages from a specific object...
: A format string, followed by format arguments in printf() style
-
wp_debug_boxed
(type, object, ...) wp_log (G_LOG_LEVEL_DEBUG, type, object, __VA_ARGS__)¶ Logs a debug message to the standard log via GLib’s logging system.
- Parameters
type
: The type of objectobject
: A boxed object associated with the log; this is printed in a special way to make it easier to track messages from a specific object. For some object types, contents from the object are also printed (ex WpSpaPod)...
: A format string, followed by format arguments in printf() style
-
wp_trace
(...) wp_log (WP_LOG_LEVEL_TRACE, 0, NULL, __VA_ARGS__)¶ Logs a trace message to the standard log via GLib’s logging system.
- Parameters
...
: A format string, followed by format arguments in printf() style
-
wp_trace_object
(object, ...) wp_log (WP_LOG_LEVEL_TRACE, (object) ? G_TYPE_FROM_INSTANCE (object) : G_TYPE_NONE, object, __VA_ARGS__)¶ Logs a trace message to the standard log via GLib’s logging system.
- Parameters
object
: A GObject associated with the log; this is printed in a special way to make it easier to track messages from a specific object...
: A format string, followed by format arguments in printf() style
-
wp_trace_boxed
(type, object, ...) wp_log (WP_LOG_LEVEL_TRACE, type, object, __VA_ARGS__)¶ Logs a trace message to the standard log via GLib’s logging system.
- Parameters
type
: The type of objectobject
: A boxed object associated with the log; this is printed in a special way to make it easier to track messages from a specific object. For some object types, contents from the object are also printed (ex WpSpaPod)...
: A format string, followed by format arguments in printf() style
-
wp_log
(level, type, object, ...)({ \
if (G_UNLIKELY (
wp_log_level_is_enabled(level))) \
wp_log_structured_standard(G_LOG_DOMAIN, level, __FILE__, \
G_STRINGIFY (__LINE__), G_STRFUNC, type, object, __VA_ARGS__); \
})
¶ The generic form of all the logging macros.
- Remark
- Don’t use this directly, use one of the other logging macros