[−][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. |