#settings #log #struct #tiny #change #allowing

已下架 log_settings

一个小型crate,允许库更改日志设置

3个版本

使用旧的Rust 2015

0.1.2 2018年5月8日
0.1.1 2016年5月31日
0.1.0 2016年5月31日

#45#allowing

Download history 8/week @ 2024-04-22 5/week @ 2024-04-29 14/week @ 2024-05-06 6/week @ 2024-05-13 10/week @ 2024-05-20 2/week @ 2024-05-27 13/week @ 2024-06-03 4/week @ 2024-06-10 10/week @ 2024-06-17 10/week @ 2024-06-24 4/week @ 2024-07-01 9/week @ 2024-07-08 54/week @ 2024-07-29

64 每月下载量
seer 中使用

MIT 许可证

4KB

此crate允许使用log crate(或等效的crate)的库与实际的日志记录器通信,而不需要库知道所使用的日志记录器的类型。此crate

在库方面

您可以通过通过settings函数访问Settings结构体来设置一个值。

extern crate log_settings;
log_settings::settings().indentation += 1;

在可执行文件方面

您可以通过通过settings函数访问Settings结构体来读取一个值。

#[macro_use] extern crate log;
extern crate env_logger;
extern crate log_settings;

use std::env;
use log::{LogRecord, LogLevelFilter};
use env_logger::LogBuilder;

fn main() {
    let format = |record: &LogRecord| {
        // prepend spaces to indent the final string
        let indentation = log_settings::settings().indentation;
        let spaces = "                                  ";
        let indentation = s[..std::cmp::max(indentation, spaces.len())];
        format!("{}{} - {}", indentation, record.level(), record.args())
    };

    let mut builder = LogBuilder::new();
    builder.format(format).filter(None, LogLevelFilter::Info);

    if env::var("RUST_LOG").is_ok() {
       builder.parse(&env::var("RUST_LOG").unwrap());
    }

    builder.init().unwrap();
}

依赖关系

~10KB