#logger #logging #log #rovella #colored-logging

rovella_logger

一个简单的日志记录器,由rovella游戏库使用(库的其余部分仍在开发中)

4个版本

0.1.4 2022年8月5日
0.1.3 2022年7月16日
0.1.2 2022年7月16日
0.1.1 2022年7月16日
0.1.0 2022年7月16日

#544 in 调试


rovella中使用

GPL-2.0-or-later

5KB
74

rovella日志记录器

这是一个使用eprintlnprintln以及format来记录文本和其他数据的简单、低开销的日志记录器。

示例

下面的致命宏展示了,其他宏遵循此模式

macro_rules! log_fatal {
    ($($args:tt)*) => {
        eprintln!("\x1b[1;92m{} \x1b[30;41m[FATAL]: {} \x1b[0m",
            format!("[{}:{}]", file!(), line!()),
            format!($($args)*),
        );
    };
}

该宏可以使用与println相同的方式,但它提供了一些额外信息(包括颜色)

#[macro_use]
extern crate rovella_logger;
...

log_fatal!("Fatal error with code: {}", 4); // output => [src\main.rs:2] [FATAL]: Fatal error with code: 4 
log_fatal!("Fatal");                        // output => [src\main.rs:3] [FATAL]: Fatal

低于错误安全级别的宏在发布模式下不会编译为任何内容

#[macro_use]
extern crate rovella_logger;
...

log_warn!("I'm only in debug mode {}", 4); // output => ...
log_info!("I'm only in deubg mode");       // output => ...

无运行时依赖