set_handler


Description:

public uint set_handler (string? log_domain, LogLevelFlags log_levels, LogFunc log_func)

Sets the log handler for a domain and a set of log levels.

To handle fatal and recursive messages the log_levels parameter must be combined with the [flags@GLib.LogLevelFlags.FLAG_FATAL] and [flags@GLib.LogLevelFlags.FLAG_RECURSION] bit flags.

Note that since the [flags@GLib.LogLevelFlags.LEVEL_ERROR] log level is always fatal, if you want to set a handler for this log level you must combine it with [flags@GLib.LogLevelFlags.FLAG_FATAL].

This has no effect if structured logging is enabled; see [Using Structured Logging](logging.html#using-structured-logging).

Here is an example for adding a log handler for all warning messages in the default domain:

```c g_log_set_handler (NULL, G_LOG_LEVEL_WARNING | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, my_log_handler, NULL); ```

This example adds a log handler for all critical messages from GTK:

```c g_log_set_handler ("Gtk", G_LOG_LEVEL_CRITICAL | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, my_log_handler, NULL); ```

This example adds a log handler for all messages from GLib:

```c g_log_set_handler ("GLib", G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL | G_LOG_FLAG_RECURSION, my_log_handler, NULL); ```

Parameters:

log_domain

the log domain, or `NULL` for the default `""` application domain

log_levels

the log levels to apply the log handler for. To handle fatal and recursive messages as well, combine the log levels with the [ flags@GLib.LogLevelFlags.FLAG_FATAL] and [flags@GLib.LogLevelFlags.FLAG_RECURSION] bit flags.

log_func

the log handler function

user_data

data passed to the log handler

Returns:

the id of the new handler


Namespace: GLib.Log
Package: glib-2.0