2 个版本

0.1.2 2024年2月4日
0.1.1 2024年2月3日
0.1.0 2024年2月3日

#2#consists

CC0 协议

7KB
136

ezlog - 一个简单、易于配置、轻量级的基于动作的日志记录器。

ezlog 包提供简单的日志记录器。它不提供与 log API 的任何集成。

日志请求由一个 动作输入 数据和 输出 数据组成。仅此而已。

许多内容是硬编码的,因此不建议直接使用此库。请将其保存为自己的包。

安装

cargo添加 easy-log

使用方法

该库具有一个 Logger 类型和一个 map![] 宏。

要构建一个日志记录器,使用以下提供的方法

use ezlog::{Logger, map, Map};

let default = Logger::new(); // empty
let default2 = Logger::default(); // same as the above

let default = default.ok(); // nothing set => does nothing
let default = default.action("test").ok(); // prints TEST: in green
let default = default.ok();

assert_eq!(
    map![test1: 234],
    Map(&[("test1".to_string(), "234".to_string())]) // auto conversion to String
);

let test2 = "This is a test.";
assert_eq!(
    map![test2],
    Map(&[("test2".to_string(), "This is a test.".to_string())]) // auto expansion
);

// you can chain methods
default
    .action("test2")
    .input(map![test2])
    .output(36) // not only maps
    .warn(); // prints the action in yellow

default2
    .action("test")
    .action("third") // you can override the preferences set before
    .err();

let really = true;
Logger::new()
    .action("final")
    .input(map![what: "test"])
    .output(map![of_what: "of this lib", really])
    .print("purple"); // set a custom color

依赖

~1–11MB
~74K SLoC