`sig
type message = [ `Debug | `Error | `Fatal | `Info | `Warn ] * string
type size = [ `Kb of int64 | `Mb of int64 | `Unlimited ]
type 'messagetype t
type default_t = Logger.message Logger.t
val create :
?max_size:Logger.size ->
?mode:Core.Std.Unix.file_perm ->
?max_archives:[ `Max of int | `Unlimited ] ->
?full_callback:(string Core.Std.Squeue.t -> unit) ->
?filter:('messagetype -> bool) ->
message_to_string:('messagetype -> string) ->
string -> 'messagetype Logger.t
val create_default :
?max_size:Logger.size ->
?mode:Core.Std.Unix.file_perm ->
?max_archives:[ `Max of int | `Unlimited ] ->
?full_callback:(string Core.Std.Squeue.t -> unit) ->
string -> Logger.message Logger.t
val log : 'messagetype Logger.t -> 'messagetype -> unit
val filter : 'messagetype Logger.t -> ('messagetype -> bool) -> unit
val clear_filter : 'messagetype Logger.t -> unit
val maybe_log : 'messagetype Logger.t option -> 'messagetype -> unit
val timestamp : unit -> string
end`