#logs #logging #log

timber

简单的可配置日志

2 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年6月10日
0.0.1 2017年5月28日

#138 in #logs

Download history 24/week @ 2024-03-11 34/week @ 2024-03-18 46/week @ 2024-03-25 95/week @ 2024-04-01 16/week @ 2024-04-08 27/week @ 2024-04-15 31/week @ 2024-04-22 20/week @ 2024-04-29 26/week @ 2024-05-06 28/week @ 2024-05-13 25/week @ 2024-05-20 22/week @ 2024-05-27 21/week @ 2024-06-03 24/week @ 2024-06-10 19/week @ 2024-06-17 30/week @ 2024-06-24

94 每月下载量
用于 10 个 (8 直接) crate

MIT 许可证

8KB
79 代码行数(不包括注释)

Timber 是一个简单的日志工具。它提供了一种在并发应用程序中将日志写入指定文件的方法。

timber! 宏接受一个级别数字作为参数,只有当级别大于零时才会写入日志。如果用户将日志级别定义为常量,编译器将能够忽略传递给未使用日志的字符串,并使应用程序更小。这样用户可以保留一组调试日志,但在发布时编译它们。

默认情况下,timber 将日志写入 stdout。要将日志写入文件,需要传递文件路径和 timber::init(path)

以下是一个 timber 的示例包装器

#[macro_use(timber)]
use timber;

#[cfg(debug)]
pub mod level {
    pub const ERR: i32 = 1;
    pub const DEB: i32 = 2;
    pub const INF: i32 = 7;
}

#[cfg(not(debug))]
pub mod level {
    pub const ERR: i32 = 1;
    pub const DEB: i32 = 0;
    pub const INF: i32 = 3;
}

macro_rules! log_err{($($arg:tt)*) => {timber!($crate::level::ERR, "ERR", $($arg)*)}}
macro_rules! log_deb{($($arg:tt)*) => {timber!($crate::level::DEB, "DEB", $($arg)*)}}
macro_rules! log_inf{($($arg:tt)*) => {timber!($crate::level::INF, "INF", $($arg)*)}}

//log_err!("This is error! I'm visible!");
//log_deb!("I'm debug. I'm visible only in debug mode.");

依赖关系

~0.6–1MB
~15K SLoC