sig
  val iter : (Log.event -> unit) -> unit
  val fold : ('-> Log.event -> 'a) -> '-> 'a
  val dump_messages : unit -> unit
  val self : State.t
  val reset_once_flag : unit -> unit
  val nb_errors : unit -> int
  val nb_warnings : unit -> int
  val nb_messages : unit -> int
  val add_global_hook : (unit -> unit) -> unit
end