sig
  module type Sig =
    sig
      type 'a log_printer =
          Lib.log_level ->
          ('a, Format.formatter, unit, unit, unit, unit) Pervasives.format6 ->
          'a
      type 'a m_log_printer = Lib.kind_module -> 'Log.Sig.log_printer
      val set_module : Lib.kind_module -> unit
      val get_module : unit -> Lib.kind_module
      type log_format = F_pt | F_xml | F_json | F_relay
      val get_log_format : unit -> Log.Sig.log_format
      val set_log_format : Log.Sig.log_format -> unit
      val set_log_format_pt : unit -> unit
      val set_log_format_xml : unit -> unit
      val set_log_format_json : unit -> unit
      val set_relay_log : unit -> unit
      val unset_relay_log : unit -> unit
      val pp_print_kind_module_xml_src :
        Format.formatter -> Lib.kind_module -> unit
      val print_xml_trailer : unit -> unit
      val printf_xml : 'Log.Sig.m_log_printer
      val printf_json : 'Log.Sig.m_log_printer
      val parse_log_xml : Lib.log_level -> Lib.position -> string -> unit
      val parse_log_json : Lib.log_level -> Lib.position -> string -> unit
    end
  type 'a log_printer =
      Lib.log_level ->
      ('a, Format.formatter, unit, unit, unit, unit) format6 -> 'a
  type 'a m_log_printer = Lib.kind_module -> 'a log_printer
  val set_module : Lib.kind_module -> unit
  val get_module : unit -> Lib.kind_module
  type log_format = F_pt | F_xml | F_json | F_relay
  val get_log_format : unit -> log_format
  val set_log_format : log_format -> unit
  val set_log_format_pt : unit -> unit
  val set_log_format_xml : unit -> unit
  val set_log_format_json : unit -> unit
  val set_relay_log : unit -> unit
  val unset_relay_log : unit -> unit
  val pp_print_kind_module_xml_src :
    Format.formatter -> Lib.kind_module -> unit
  val print_xml_trailer : unit -> unit
  val printf_xml : 'a m_log_printer
  val printf_json : 'a m_log_printer
  val parse_log_xml : Lib.log_level -> Lib.position -> string -> unit
  val parse_log_json : Lib.log_level -> Lib.position -> string -> unit
  module type SLog =
    sig
      val log : 'a log_printer
      val log_uncond : ('a, Format.formatter, unit) Pervasives.format -> 'a
    end
  module Make :
    functor (R : sig val printf_relay : 'a m_log_printer end-> SLog
  val log : 'a log_printer
  val log_uncond : ('a, Format.formatter, unit) format -> 'a
end