module Filter:This module defines the concept of filter, that is predicate over an event. It is possible to register new filters through the`sig`

..`end`

`register`

function. Initially, all the filters defined in this file are
registered (using the function name as the registration name).type`t =`

`Event.t -> bool`

The type of event filters.

A filter should return `true`

iff the passed event is of interest.

`val register : ``string -> t -> unit`

`register n f`

registers the filter `f`

with name `n`

,
replacing any existing filter with the same name.`val register_unnamed : ``t -> string`

Similar to

`register`

except that an unused name is generated and returned.`val get : ``string -> t`

`get n`

returns the filter registered with name `n`

.
Raises `Not_found`

if no filter exists with the passed name.

`val all : ``t`

Filter that always returns

`true`

.`val none : ``t`

Filter that always returns

`false`

.`val before : ``int -> t`

`before t`

returns a filter that returns `true`

iff relative time
of the event is strictly below `t`

.`val after : ``int -> t`

`after t`

returns a filter that returns `true`

iff relative time
of the event is strictly above `t`

.`val trace_or_below : ``t`

Filter that returns

`true`

iff level is `Level.TRACE`

or below.`val debug_or_below : ``t`

Filter that returns

`true`

iff level is `Level.DEBUG`

or below.`val info_or_below : ``t`

Filter that returns

`true`

iff level is `Level.INFO`

or below.`val warn_or_below : ``t`

Filter that returns

`true`

iff level is `Level.WARN`

or below.`val error_or_below : ``t`

Filter that returns

`true`

iff level is `Level.ERROR`

or below.`val fatal_or_below : ``t`

Filter that returns

`true`

iff level is `Level.FATAL`

or below.`val trace_or_above : ``t`

Filter that returns

`true`

iff level is `Level.TRACE`

or above.`val debug_or_above : ``t`

Filter that returns

`true`

iff level is `Level.DEBUG`

or above.`val info_or_above : ``t`

Filter that returns

`true`

iff level is `Level.INFO`

or above.`val warn_or_above : ``t`

Filter that returns

`true`

iff level is `Level.WARN`

or above.`val error_or_above : ``t`

Filter that returns

`true`

iff level is `Level.ERROR`

or above.`val fatal_or_above : ``t`

Filter that returns

`true`

iff level is `Level.FATAL`

or above.`val level_below : ``Level.t -> t`

`level_equal l`

returns a filter that return `true`

iff the level is
below `l`

.`val level_above : ``Level.t -> t`

`level_equal l`

returns a filter that return `true`

iff the level is
above `l`

.`val level_equal : ``Level.t -> t`

`level_equal l`

returns a filter that return `true`

iff the level is
equal to `l`

.`val logger_equal : ``Name.t -> t`

`logger_equal l`

returns a filter that returns `true`

iff logger is
equal to `l`

.`val logger_not_equal : ``Name.t -> t`

`logger_not_equal l`

returns a filter that returns `true`

iff logger
is different from `l`

.`val file_defined : ``t`

Filter that returns

`true`

iff file is different from `""`

, and
`"<nofile>"`

.`val file_undefined : ``t`

Filter that returns

`true`

iff file is equal to `""`

, or
`"<nofile>"`

.`val file_equal : ``string -> t`

`file_equal f`

returns a filter that returns `true`

iff file is equal
to `f`

.`val file_not_equal : ``string -> t`

`file_not_equal f`

returns a filter that returns `true`

iff file is
different from `f`

.`val line_defined : ``t`

Filter that returns

`true`

iff line is above `0`

.`val line_undefined : ``t`

Filter that returns

`true`

iff line is not above `0`

.`val column_defined : ``t`

Filter that returns

`true`

iff column is above `0`

.`val column_undefined : ``t`

Filter that returns

`true`

iff column is not above `0`

.`val message_defined : ``t`

Filter that returns

`true`

iff message is different from `""`

.`val message_undefined : ``t`

Filter that returns

`true`

iff message is equal to `""`

.`val message_paje : ``t`

Filter that return

`true`

iff the message is a Pajé one.`val message_not_paje : ``t`

Filter that return

`true`

iff the message is not a Pajé one.`val message_daikon : ``t`

Filter that return

`true`

iff the message is a Daikon one.`val message_not_daikon : ``t`

Filter that return

`true`

iff the message is not a Daikon one.`val properties_empty : ``t`

Filter that returns

`true`

iff property list is empty.`val properties_not_empty : ``t`

Filter that returns

`true`

iff property list is not empty.`val property_defined : ``string -> t`

`property_defined n`

returns a filter that returns `true`

iff the
property named `n`

is defined.`val property_undefined : ``string -> t`

`property_undefined n`

returns a filter that returns `true`

iff the
property named `n`

is not defined.`val property_equal : ``string -> string -> t`

`property_equal n v`

returns a filter that returns `true`

iff the
property named `n`

is defined and has value `v`

.`val property_not_equal : ``string -> string -> t`

`property_not_equal n v`

returns a filter that returns `true`

iff the
property named `n`

is defined and has a value different from `v`

, or
is not defined.`val property_equal_pred : ``string -> (string -> bool) -> t`

`property_equal_pred n p`

returns a filter that returns `true`

iff
the property named `n`

is defined with value `v`

, and `p v`

equals
`true`

.`val property_not_equal_pred : ``string -> (string -> bool) -> t`

`property_not_equal_pred n p`

returns a filter that returns `true`

iff the property named `n`

is defined with value `v`

and `p v`

equals
`false`

, or is not defined.`val exception_some : ``t`

Filter that returns

`true`

iff error matches `Some _`

.`val exception_none : ``t`

Filter that returns

`true`

iff error is equal to `None`

.`val logand : ``t -> t -> t`

Constructs a filter that is the conjunction of the passed ones.

`val (&&&) : ``t -> t -> t`

Shorthand for

`logand`

.`val logor : ``t -> t -> t`

Constructs a filter that is the disjunction of the passed ones.

`val (|||) : ``t -> t -> t`

Shorthand for

`logor`

.`val logxor : ``t -> t -> t`

Constructs a filter that is the exclusive disjunction of the passed
ones.

`val (^^^) : ``t -> t -> t`

Shorthand for

`logxor`

.`val not : ``t -> t`

Constructs a filter that is the negation of the passed one.

`val for_all : ``t list -> t`

Constructs a filter that returns

`true`

iff all the filters from the
list return `true`

.`val (!&&&) : ``t list -> t`

Shorthand for

`for_all`

.`val exists : ``t list -> t`

Constructs a filter that returns

`true`

iff at least one filter from
the list returns `true`

.`val (!|||) : ``t list -> t`

Shorthand for

`exists`

.