# Module Glib.Message

    module Message: sig .. end

(gtkdoc: glib glib-Message-Logging)

    type log_level = [ `CRITICAL
           | `DEBUG
           | `ERROR
           | `FLAG_FATAL
           | `FLAG_RECURSION
           | `INFO
           | `MESSAGE
           | `WARNING ]

    val log_level : [< `CRITICAL
            | `CUSTOM of int
            | `DEBUG
            | `ERROR
            | `FLAG_FATAL
            | `FLAG_RECURSION
            | `INFO
            | `MESSAGE
            | `WARNING ] ->
           int

    type log_handler

    val set_log_handler : ?domain:string ->
           levels:log_level list ->
           (level:int -> string -> unit) -> log_handler

    val remove_log_handler : log_handler -> unit

    val set_always_fatal : log_level list -> unit

    val set_fatal_mask : ?domain:string ->
           [ `CRITICAL
           | `CUSTOM of int
           | `DEBUG
           | `ERROR
           | `FLAG_FATAL
           | `FLAG_RECURSION
           | `INFO
           | `MESSAGE
           | `WARNING ] list -> unit

    val log : ?domain:string ->
           [ `CRITICAL
           | `CUSTOM of int
           | `DEBUG
           | `ERROR
           | `FLAG_FATAL
           | `FLAG_RECURSION
           | `INFO
           | `MESSAGE
           | `WARNING ] -> ('a, unit, string, unit) Pervasives.format4 -> 'a