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 screen : 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 Import.Deferred.t
end