elogger API
Overview Classes Cluster Class Index          Top Features

root_cluster.logging.filters

Class ELOG_OR_FILTER


Direct ancestors

ELOG_FILTER_CONTAINER

Creation

Features

Invariants

indexing

description

Multiple filters and ored together to decide if an event is accepted or not.

class ELOG_OR_FILTER

inherit

ELOG_FILTER_CONTAINER
ELOG_FILTER

create

make (filter_a, filter_b: ELOG_FILTER; rejects_ored: BOOLEAN)

-- A minimum of 2 filters are added to this filter.
--
-- If rejects_ored is set to True, Filter_reject is
-- returned when a single filter returns Filter_reject.
-- If rejects_ored is set to False, Filter_accept is
-- returned when a single filter returns Filter_accept.
-- Filter_neutral are effectively ignored.
-- If all contained filters return Filter_neutral, this
-- filter also returns Filter_neutral.

require

filters_exist: filter_a /= Void and filter_b /= Void

feature -- Status report

decide (event: ELOG_EVENT): INTEGER

-- Should 'event' be logged. Return one of Filter_accept,
-- Filter_reject, or Filter_neutral.
-- (From ELOG_FILTER)

require

event_exists: event /= Void

ensure

valid_result: valid_filter_decision (Result)

ensure then

result_valid: Result = Filter_reject or Result = Filter_accept or Result = Filter_neutral

feature -- Element Change

set_reject_ored (rejects_ored: BOOLEAN)

-- sets is_reject_ored to reject_ored

add_filter (a_filter: ELOG_FILTER)

-- adds 'a_filter' to the list of filters
-- (From ELOG_FILTER_CONTAINER)

require

a_filter_not_void: a_filter /= Void

ensure

filters_has_filter: filters.has (a_filter)

feature -- Filter Constants

Filter_accept: INTEGER

-- if 'filters_anded' is set all filters must
-- return Filter_accept to be accepted.
-- (From ELOG_FILTER_CONSTANTS)

Filter_neutral: INTEGER

-- Remaining filters will be consulted to determine
-- if the event should be logged. If there are no
-- remaining filters then the event will be logged.
-- Note: neutral filters are ignored!
-- (From ELOG_FILTER_CONSTANTS)

Filter_reject: INTEGER

-- if 'filters_anded' is not set all filters must
-- return Filter_reject rejected.
-- (From ELOG_FILTER_CONSTANTS)

invariant

enough_filters: filters.count >= 2

-- From ELOG_FILTER_CONTAINER
filters_not_void: filters /= Void

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

Documentation generated by edoc