# Functor Cf_journal.Create

    module Create: functor (P : Cf_ordered.Total_T) -> T  with module Priority = P

A functor that produces a module of type `T` that defines extensible diagnostic event journaling with messages prioritized by codes in the total order defined by the module `P`.

Parameters:

`P` | : | `Cf_ordered.Total_T`

    module Priority: Cf_ordered.Total_T

The module used to define the total order of priority levels.

    class virtual ['level] prioritizer : object .. end

The base class for prioritizers.

    class ['level] event : 'level #prioritizer -> 'level -> string -> object .. end

The minimal class of diagnostic events.

    class virtual ['level #event] archiver : object .. end

The base class for event archivers.

    class virtual ['level #event #archiver] agent : 'level #prioritizer -> 'level -> ('level #event #archiver as 'a) list -> object .. end

The base class for journaling agents.