### Function

# GLib log_default_handler

since: 2.0

#### Declaration

    void
    g_log_default_handler (
      const gchar* log_domain,
      GLogLevelFlags log_level,
      const gchar* message,
      gpointer unused_data
    )

#### Description

The default log handler set up by GLib; `g_log_set_default_handler()` allows to install an alternate default log handler.

This is used if no log handler has been set for the particular log domain and log level combination. It outputs the message to `stderr` or `stdout` and if the log level is fatal it calls `G_BREAKPOINT()`. It automatically prints a new-line character after the message, so one does not need to be manually included in `message`.

The behavior of this log handler can be influenced by a number of environment variables:

- `G_MESSAGES_PREFIXED`: A `:`-separated list of log levels for which messages should be prefixed by the program name and PID of the application.
- `G_MESSAGES_DEBUG`: A space-separated list of log domains for which debug and informational messages are printed. By default these messages are not printed. If you need to set the allowed domains at runtime, use `g_log_writer_default_set_debug_domains()`.

`stderr` is used for levels `GLogLevelFlags`, `GLogLevelFlags`, `GLogLevelFlags` and `GLogLevelFlags`. `stdout` is used for the rest, unless `stderr` was requested by `g_log_writer_default_set_use_stderr()`.

This has no effect if structured logging is enabled; see Using Structured Logging.

Available since: 2.0

#### Parameters

`log_domain`

  Type: `const gchar*`

  The log domain of the message, or `NULL` for the default `""` application domain.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`log_level`

  Type: `GLogLevelFlags`

  The level of the message.

`message`

  Type: `const gchar*`

  The message.

  The argument can be `NULL`.
  The data is owned by the caller of the function.
  The value is a NUL terminated UTF-8 string.

`unused_data`

  Type: `gpointer`

  Data passed from `g_log()` which is unused.

  The argument can be `NULL`.
  The data is owned by the caller of the function.