[][src]Crate contralog

Composable logging with monoids and contravariant functors.

A logger is a routine that takes input and has side-effects. Any routine that has the appropriate type will do. A logger can be seen as the opposite or dual of an infinite iterator.

The core trait of this crate is Logger. It has only a single method that must be implemented: log. To log something, pass it to this method. It is up to the logger to decide what to do with the value.

Loggers are composable: given two loggers with compatible types, a new logger can be created that forwards its input to both loggers.

Loggers can also be transformed using methods such as map and filter.

Structs

Chain

Returned from the Logger::chain method.

Empty

Returned from the empty function.

Extender

Returned from the extender function.

Filter

Returned from the Logger::filter method.

Map

Returned from the Logger::map method.

Safe

Returned from the Logger::safe method.

Traits

Logger

A logger is a routine that takes input and has side-effects.

Functions

empty

A logger that ignores all input.

extender

A logger that collects values into a container.