sig
  val set_level : Log.Level.t -> unit
  val set_output : Log.Output.t list -> unit
  val raw :
    ?tags:(string * string) list ->
    ('a, unit, string, unit) Pervasives.format4 -> 'a
  val info :
    ?tags:(string * string) list ->
    ('a, unit, string, unit) Pervasives.format4 -> 'a
  val error :
    ?tags:(string * string) list ->
    ('a, unit, string, unit) Pervasives.format4 -> 'a
  val debug :
    ?tags:(string * string) list ->
    ('a, unit, string, unit) Pervasives.format4 -> 'a
  val printf :
    ?tags:(string * string) list ->
    ?level:Log.Level.t -> ('a, unit, string, unit) Pervasives.format4 -> 'a
  val sexp :
    ?tags:(string * string) list ->
    ?level:Log.Level.t -> ('-> Core.Std.Sexp.t) -> '-> unit
  val of_lazy :
    ?tags:(string * string) list ->
    ?level:Log.Level.t -> string Core.Std.Lazy.t -> unit
  val message : Log.Message.t -> unit
  val flushed : unit -> unit Import.Deferred.t
end