08-Rust中的日志记录
11.5 Rust中的日志记录
Rust拥有很多灵活、可扩展的日志记录解决方案。与其他语言中常见的日志记录生态系统一样,此处的日志记录生态系统分为两个部分。
- 日志记录外观 :此部分由log软件包实现,并提供与实现无关的日志记录API。其他框架在某些对象上将日志API实现为函数或方法的同时,log软件包为我们提供基于宏的日志记录API,这些日志记录API按日志级别进行分类,以便将日志记录输出到预配置的目标上。
- 日志记录实现 :这些是社区开发的软件包,可以根据输出的位置和事件发生的方式提供实际的日志记录实现。有许多这样的软件包,例如env_logger、imple_logger、log4rs及fern。我们马上就会介绍其中的几款软件包。属于此类别的软件包仅提供二进制软件包,即可执行文件。
如果日志记录API和日志记录输出的底层机制之间是分离的,开发人员就不需要在代码中更改其日志语句,并可以根据需要轻松地切换基本的日志记录实现。