type 'a logger = ('a, unit, string, unit) format4 -> 'a
module type LOGGER = sig .. end
val set_level : Core.Std.Unix.Syslog.Level.t -> unit
val get_level : unit -> Core.Std.Unix.Syslog.Level.t
val may_log : Core.Std.Unix.Syslog.Level.t -> bool
val generic : Core.Std.Unix.Syslog.Level.t -> 'a logger
val debug : 'a logger
val info : 'a logger
val notice : 'a logger
val warning : 'a logger
val err : 'a logger
val crit : 'a logger
val alert : 'a logger
val emerg : 'a logger
module type SPEC = sig .. end
val logger : Core.Std.Unix.Syslog.Level.t -> string -> unit
module MakeLogger : 
functor (Spec : SPEC) -> LOGGER
module MakeChannel : 
functor (ChannelSpec : sig .. end) -> LOGGER
module Stderr : LOGGER
module Syslog : LOGGER
module Ignore : LOGGER