This crate aims to bridge tracing and actix-web by automatically populating data from the HttpRequest in the tracing span.
This crate is an alternative to tracing_actix_web and was created to add the following two features.
This crate will log every request made to the HTTP server. These logs are only be visible if the log level is set to trace
. This can be done by setting the RUST_LOG
environment varible to tracing_actix_web2=trace
.
This crate will generate a UUID for each HTTP request and include it in the span along with the X-Request-ID
HTTP header.
Add tracing-actix-web2
to your dependencies:
[dependencies]
# ...
actix-web = "3.3.2"
tracing-actix-web2 = "1.0.0"
use actix_web::{App, web, HttpServer};
use tracing_actix_web2::Tracer;
fn main() {
// Init your `tracing` subscriber here!
let server = HttpServer::new(|| {
App::new()
// Mount `Tracer` as a middleware
.wrap(Tracer)
.service( /* */ )
});
}
For a full example check out this example application.