17 个不稳定版本 (3 个重大更改)
0.4.1 | 2024 年 1 月 4 日 |
---|---|
0.3.0 | 2024 年 1 月 2 日 |
0.2.0 | 2023 年 3 月 11 日 |
0.1.10 | 2022 年 11 月 8 日 |
0.1.7 | 2020 年 3 月 4 日 |
#316 在 值格式化
每月 137 次下载
在 7 个 crate 中使用 (6 个直接使用)
20KB
234 行
twyg
为 Rust 应用程序提供的轻量级日志配置
我习惯了使用 Clojure 中的 Twig、LFE 中的 Logjam 和 Go 中的 zylog 来记录应用程序,因此这里为 Rust 提供了类似的东西。
版本警告
- v0.3 - 由于远离不受支持的(且不安全的)
colors
库,引入了回归,因此无法再禁用日志输出的 ANSI 颜色。 - v0.4 - 由于
OwoColors
的更复杂性质,需要进行大规模代码重构来修复 v0.3 的颜色回归,并在此过程中引入了一些破坏性更改,包括结构体重命名、新字段等。
使用方法
首先,更新你的 Cargo.toml
的依赖项部分
[dependencies]
twyg = "0.4"
我喜欢将我的日志配置放在我的应用程序的 YAML 配置文件中,但无论你喜欢如何存储配置,你都需要为你的首选机制填充 twyg::Opts
结构
use twyg::{self, level};
let opts = twyg::Opts{
coloured: true,
level: level::debug(),
report_caller: true,
..Default::default()
};
match twyg::setup(&opts) {
Ok(_) => {},
Err(error) => {
panic!("Could not setup logger: {:?}", error)
},
};
支持以下选项
coloured
:设置为 false 将禁用日志输出中的 ANIS 颜色file
:提供一个文件路径,并将输出也记录到该文件level
:不区分大小写的日志级别report_caller
:设置为 true 将输出日志调用所在的文件名和行号
一旦调用设置函数,所有后续调用标准 Rust 日志宏都将使用此配置,提供如下输出
上图中的输出(点击查看全尺寸)来自运行 examples
目录中的演示。
配置
与 config 库配合使用非常顺畅
-
设置一些 YAML
logging: coloured: true level: debug report_caller: true
-
在配置结构中添加条目
#[derive(Debug, Deserialize)] pub struct YourAppConfig { ... pub logging: twyg::Opts, ... }
-
为
YourAppConfig
创建一个构造函数(请参阅配置库的文档和示例) -
构建配置
let cfg = YourAppConfig::default().unwrap();
-
将日志配置传递给 twyg
match twyg::setup(&cfg.logging) { Ok(_) => {} Err(error) => panic!("Could not setup logger: {error:?}"), };
许可证
版权所有 © 2020-2024,Oxur集团
Apache许可证,版本2.0
依赖项
~2-10MB
~91K SLoC