#logger #monoid #composable #functors #input #routine #contravariant

contralog

使用幺半群和逆变函子进行可组合日志记录

1 个不稳定版本

使用旧 Rust 2015

0.0.1 2019年10月22日

#7 in #routine

自定义许可协议

8KB
177

使用幺半群和逆变函子进行可组合日志记录。

如果你想要使用这个库,至少有两种方法可以获得它:你可以通过在 Cargo.toml 中将 contralog 添加为依赖项来使用 Cargo 依赖它,或者你可以将 src/lib.rs 文件复制到自己的项目中,使用不同的名称。

在开发此库时,请使用 Nix 以确保构建可重复

nix run -ic cargo test

lib.rs:

使用幺半群和逆变函子进行可组合日志记录。

日志记录器是一个接受输入并具有副作用的例程。任何具有适当类型的例程都可以。日志记录器可以看作是无限迭代器的对立面或双胞胎。

此软件包的核心特质是 Logger。它只有一个必须实现的方法:log。要记录某些内容,请将其传递到该方法。日志记录器决定如何处理该值。

日志记录器是可组合的:给定两个具有兼容类型的日志记录器,可以创建一个新的日志记录器,该日志记录器将输入转发到两个日志记录器。

日志记录器也可以使用如 mapfilter 之类的方法进行转换。

无运行时依赖