在Rust中,有多种日志记录方式,这里记录一下tracing库的使用方式。
首先添加依赖:1
2
3
4[dependencies]
tracing = "0.1.43"
tracing-subscriber = "0.3.22"
tracing-appender = "0.2.4"
然后添加如下代码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21use tracing::{debug, error, info, warn};
use tracing_appender::rolling;
use tracing_subscriber::fmt;
use tracing_subscriber::layer::SubscriberExt;
use tracing_subscriber::util::SubscriberInitExt;
fn main() {
tracing_subscriber::registry()
.with(fmt::layer().with_writer(std::io::stdout).with_ansi(true))
.with(
fmt::layer()
.with_writer(rolling::daily("./logs", "app.log"))
.with_ansi(false),
)
.init();
debug!("这是 Debug 日志");
info!("这是 Info 日志");
warn!("这是 Warn 日志");
error!("这是 Error 日志");
}
测试一下,控制台中的日志带有颜色,而日志文件中是正常的文本,如下:1
2
3
42025-12-10T05:32:44.434826Z DEBUG test_log: 这是 Debug 日志
2025-12-10T05:32:44.434862Z INFO test_log: 这是 Info 日志
2025-12-10T05:32:44.434871Z WARN test_log: 这是 Warn 日志
2025-12-10T05:32:44.434876Z ERROR test_log: 这是 Error 日志
- 本文作者: killf
- 本文链接: https://www.killf.info/编程语言/Rust/Rust中记录日志/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!