1 unstable release

0.7.1 Nov 10, 2022
0.6.3 Sep 19, 2022
0.5.0 May 20, 2021
0.4.0 Mar 8, 2021
0.0.1 Jul 6, 2020

#313 in Debugging

Download history 299/week @ 2024-01-14 373/week @ 2024-01-21 356/week @ 2024-01-28 412/week @ 2024-02-04 488/week @ 2024-02-11 514/week @ 2024-02-18 429/week @ 2024-02-25 278/week @ 2024-03-03 589/week @ 2024-03-10 1170/week @ 2024-03-17 1923/week @ 2024-03-24 1302/week @ 2024-03-31 620/week @ 2024-04-07 607/week @ 2024-04-14 983/week @ 2024-04-21 1067/week @ 2024-04-28

3,297 downloads per month
Used in 3 crates

MIT license

8KB
115 lines

logs

Crates.io docs.rs Crates.io

A simple terminal logger

Usage

Add this in your Cargo.toml:

[dependencies]
logs = "*"

Example

use logs::{debug, error, info, trace, warn, Logs};

fn main() {
    Logs::new().init();

    trace!("This is a trace log");
    debug!("This is a debug log");
    info!("This is a info log");
    warn!("This is a warn log");
    error!("This is a error log");
}

Output:

2022-09-06T08:38:23.490 [TRACE] This is a trace log
2022-09-06T08:38:23.490 [DEBUG] This is a debug log
2022-09-06T08:38:23.490 [INFO ] This is a info log
2022-09-06T08:38:23.490 [WARN ] This is a warn log
2022-09-06T08:38:23.490 [ERROR] This is a error log

Options

use logs::{Logs, debug, error, LevelFilter};

fn main() {
    Logs::new()
        // Show log level color
        .color(true)
        // Filter log target
        .target("target")
        // Filter log level
        .level(LevelFilter::Info)
        // Filter log target from `LOG` environment variable
        .level_from_default_env()
        .unwrap()
        // Filter log target from `NAME` environment variable
        .level_from_env("NAME")
        .unwrap()
        // Filter log level from str
        .level_from_str("info")
        .unwrap()
        // Apply
        .init();
}

Dependencies

~1MB
~15K SLoC