sig
  type machine_readable_format = [ `Bin_prot | `Sexp ]
  type format = [ `Bin_prot | `Sexp | `Text ]
  type t
  val create :
    (Log.Message.t Core.Std.Queue.t -> unit Import.Deferred.t) ->
    Log.Output.t
  val stdout : unit -> Log.Output.t
  val stderr : unit -> Log.Output.t
  val writer : Log.Output.format -> Import.Writer.t -> Log.Output.t
  val file : Log.Output.format -> filename:string -> Log.Output.t
  val rotating_file :
    Log.Output.format -> basename:string -> Log.Rotation.t -> Log.Output.t
  val machine_readable_format_of_sexp :
    Sexplib.Sexp.t -> Log.Output.machine_readable_format
  val __machine_readable_format_of_sexp__ :
    Sexplib.Sexp.t -> Log.Output.machine_readable_format
  val sexp_of_machine_readable_format :
    Log.Output.machine_readable_format -> Sexplib.Sexp.t
  val format_of_sexp : Sexplib.Sexp.t -> Log.Output.format
  val __format_of_sexp__ : Sexplib.Sexp.t -> Log.Output.format
  val sexp_of_format : Log.Output.format -> Sexplib.Sexp.t
end