2 stable releases
2.0.0 | Mar 14, 2022 |
---|---|
1.0.0 | May 15, 2021 |
#145 in #logging-tracing
7KB
66 lines
tracing-actix-web2
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.
Request Logging
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
.
X-Request-ID Header
This crate will generate a UUID for each HTTP request and include it in the span along with the X-Request-ID
HTTP header.
Install
Add tracing-actix-web2
to your dependencies:
[dependencies]
# ...
actix-web = "3.3.2"
tracing-actix-web2 = "1.0.0"
Usage
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.
Dependencies
~15–26MB
~441K SLoC