### Interface

# Gio DebugController

since: 2.72

#### Description

    interface Gio.DebugController : Gio.Initable

`GDebugController` is an interface to expose control of debugging features and debug output.

It is implemented on Linux using `GDebugControllerDBus`, which exposes a D-Bus interface to allow authenticated peers to control debug features in this process.

Whether debug output is enabled is exposed as `GDebugController:debug-enabled`. This controls `g_log_set_debug_enabled()` by default. Application code may connect to the `GObject::notify` signal for it to control other parts of its debug infrastructure as necessary.

If your application or service is using the default GLib log writer function, creating one of the built-in implementations of `GDebugController` should be all that’s needed to dynamically enable or disable debug output.

Available since: 2.72

#### Prerequisite

In order to implement DebugController, your type must inherit from`GInitable`.

#### Implementations

- GDebugControllerDBus

#### Instance methods

###### g_debug_controller_get_debug_enabled

Get the value of `GDebugController:debug-enabled`.

since: 2.72

###### g_debug_controller_set_debug_enabled

Set the value of `GDebugController:debug-enabled`.

since: 2.72

#### Properties

###### Gio.DebugController:debug-enabled

`TRUE` if debug output should be exposed (for example by forwarding it to the journal), `FALSE` otherwise.

since: 2.72

#### Interface structure

    struct GioDebugControllerInterface {
      /* no available fields */
    }

The virtual function table for `GDebugController`.