sig   val output : unit BatIO.output Pervasives.ref   val prefix : string Pervasives.ref   type flag = [ `Custom of unit -> string | `Date | `Filepos | `Time ]   val flags : BatLog.flag list Pervasives.ref   val log : ?fp:string -> string -> unit   val logf :     ?fp:string -> ('a, unit BatIO.output, unit) Pervasives.format -> 'a   val fatal : ?fp:string -> string -> 'a   val fatalf :     ?fp:string -> ('a, unit BatIO.output, unit) Pervasives.format -> 'a   module type Config =     sig       type t       val out : BatLog.Config.t BatIO.output       val prefix : string       val flags : BatLog.flag list     end   module Make :     functor (S : Config->       sig         val log : ?fp:string -> string -> unit         val logf :           ?fp:string -> ('a, S.t BatIO.output, unit) Pervasives.format -> 'a         val fatal : ?fp:string -> string -> 'a         val fatalf :           ?fp:string -> ('a, S.t BatIO.output, unit) Pervasives.format -> 'a       end   val make_logger :     'BatIO.output ->     string ->     [< `Custom of unit -> string | `Date | `Filepos | `Time ] list ->     < fatal : ?fp:string -> string -> 'b;       fatalf : ?fp:string ->                ('c, 'BatIO.output, unit, unit, unit, 'd) Pervasives.format6 ->                'c;       log : ?fp:string -> string -> unit;       logf : ?fp:string ->              ('e, 'BatIO.output, unit) Pervasives.format -> 'e >   type easy_lev =       [ `always | `debug | `error | `fatal | `info | `trace | `warn ]   module Easy :     sig       val level : BatLog.easy_lev Pervasives.ref       val output : unit BatIO.output Pervasives.ref       val log : ?fp:string -> BatLog.easy_lev -> string -> unit       val logf :         ?fp:string ->         BatLog.easy_lev ->         ('a, unit BatIO.output, unit) Pervasives.format -> 'a     end   module type Level_sig =     sig       type t       val to_string : BatLog.Level_sig.t -> string       val default_level : BatLog.Level_sig.t       val compare : BatLog.Level_sig.t -> BatLog.Level_sig.t -> int     end   module Make_lev :     functor (L : Level_sig) (S : Config->       sig         val level : L.t Pervasives.ref         val output : S.t BatIO.output Pervasives.ref         val log : ?fp:string -> L.t -> string -> unit         val logf :           ?fp:string ->           L.t -> ('a, S.t BatIO.output, unit) Pervasives.format -> 'a       end end