#logger #logging #parallel #real-time #log

parallel_logger

实现log::Log特质的日志记录器,允许其他日志记录器在单独的线程中运行,从而显著降低调用线程的负载

4个版本 (2个破坏性版本)

0.4.0 2024年2月26日
0.3.1 2024年2月20日
0.3.0 2024年2月19日
0.2.0 2024年2月16日

#422调试

MIT/Apache

16KB
192

parallel_logger

Crates.io Docs MIT/APACHE-2.0

一个简单的日志记录器,它本身不进行日志记录,而是将所有日志事件传递给任意数量的并行运行的实际日志记录器。根据并行执行模式,实际日志记录器是在一个线程上顺序执行(ParallelMode::Sequential)还是在每个实际日志记录器上使用一个线程并行执行(ParallelMode::Parallel)。ParallelMode::Sequential应该适用于大多数用例。

在日志记录成为瓶颈时非常有用,例如在实时场景中以及将日志记录到网络或数据库等。

用法

将依赖项添加到您的 Cargo.toml

[dependencies]
log = "0.4"
parallel_logger = "0.3"

如何在您的应用程序中使用它

use parallel_logger::{ParallelLogger, ParallelMode};

fn main() {
    ParallelLogger::init(log::LevelFilter::Info, ParallelMode::Sequential, vec![any_logger_1, any_logger_2, ...]>);
}

确保不要使用它们各自的 init 方法创建其他日志记录器,而是使用它们的 new 方法。在 ParallelLogger 之前不要注册任何其他日志记录器,因为它将占据那个位置。

许可证

根据以下任一许可证授权

依赖项

~320KB