Fin*_*ber 15 rust rust-tracing rust-axum
我正在学习 Axum,我想将日志记录添加到我组装的服务中,但不幸的是我无法让它工作。
我已添加 tower-http 来使用TraceLayer
并将其添加到我的应用程序中:
# Cargo.toml
[dependencies]
axum = "0.6.1"
tower-http = { version = "0.3.5", features = ["trace"] }
Run Code Online (Sandbox Code Playgroud)
use tower_http::trace::TraceLayer;
let app = Router::new()
.route("/:name/path", axum::routing::get(handler))
.layer(TraceLayer::new_for_http())
Run Code Online (Sandbox Code Playgroud)
但是当我启动应用程序并向端点发出请求时,没有记录任何内容。是否有我可能错过的配置步骤?
kmd*_*eko 16
您需要设置一个“订阅者”来输出TraceLayer
. 您可以使用跟踪订阅者箱快速启动并运行:
# Cargo.toml
[dependencies]
tracing = "0.1.37"
tracing-subscriber = "0.3.16"
Run Code Online (Sandbox Code Playgroud)
tracing_subscriber::fmt()
.with_max_level(tracing::Level::DEBUG)
.init();
Run Code Online (Sandbox Code Playgroud)
默认情况下,TraceLayer
将使用DEBUG
级别进行日志记录,因此.with_max_level
对于查看这些日志很重要。TraceLayer
您可以使用可自定义的方法更改行为on_*
。
也可以看看:
归档时间: |
|
查看次数: |
12755 次 |
最近记录: |