#log #logger #log-level

selog

简单、易用的LOGger将日志记录到StdErr

2 个版本

0.1.1-beta.12020年10月4日
0.1.0 2020年9月23日

#101 in #log-level

MIT 协议

17KB
356

SELog

crates.io docs.rs Downloads Downloads (latest) License

Simple, Easy LOGger logs to StdErr.

文档

API 文档可在 docs.rs 上找到。

许可证

SELog 采用 MIT 许可协议。

详情请见 LICENSE


lib.rs:

简单、易用的LOGger将日志记录到StdErr。

注意:此软件包与 log ^0.4.11 兼容。

此软件包提供了一个简单、最小化且易于使用的 log 软件包实现。

示例

简单用例

#[macro_use]
extern crate log;
extern crate selog;

use selog::SELog;

fn main() {
    SELog::new().init().unwrap();

    error!("Failed something");

    // ..
}

使用 clap

clap 3.0.0-beta.2 上测试

#[macro_use]
extern crate log;
extern crate clap;
extern crate selog;

use clap::Clap;
use selog::{Colorize, SELevel, SELog};

#[derive(Clap)]
struct Opts {
    #[clap(short, long, about = "More verbose output.")]
    verbose: bool,
    #[clap(short, long, about = "Less output.")]
    quiet: bool,
    #[clap(short, long, about = "Output debug log.")]
    debug: bool,
    #[clap(long, about = "Control color of output.",
           possible_values = &["off", "auto", "on"],
           default_value = "auto")]
    color: Colorize,
    // Your options...
}

fn main() {
    let opts = Opts::parse();

    SELog::new()
        .level(
            SELevel::new()
                .verbose(opts.verbose)
                .quiet(opts.quiet)
                .debug(opts.debug),
        )
        .colorize(opts.color)
        .init()
        .unwrap();

    error!("Failed something.");

    // ...
}

带有 opts 功能

#[macro_use]
extern crate log;
#[macro_use]
extern crate selog;

use selog::{Colorize, SELevel, SELog};

opts! {
    struct Opts {
        // Your options...
    }
}

fn main() {
    let opts = Opts::parse();

    opts.init_log().unwrap();

    error!("Failed something.");

    // ...
}

依赖

~0.1–7.5MB
~45K SLoC