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

#696 in Debugging

Download history 16/week @ 2024-11-16 45/week @ 2024-11-23 26/week @ 2024-11-30 105/week @ 2024-12-07 47/week @ 2024-12-14 2/week @ 2024-12-21 5/week @ 2025-01-04 18/week @ 2025-01-11 7/week @ 2025-01-18 2/week @ 2025-01-25 46/week @ 2025-02-01 62/week @ 2025-02-08 29/week @ 2025-02-15 32/week @ 2025-02-22 26/week @ 2025-03-01

153 downloads per month
Used in 2 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
~16K SLoC