Skip to content

oscartbeaumont/tracing-actix-web2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tracing-actix-web2

Rust tracing adapter for Actix Web


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.