tracing-actix-web
provides TracingLogger
, a middleware to log request and response info when using the actix-web
framework.
TracingLogger
is designed as a drop-in replacement of actix-web
's Logger
.
Logger
is built on top of the log
crate: you need to use regular expressions to parse the request information out of the logged message.
TracingLogger
relies on tracing
, a modern instrumentation framework for structured logging: all request information is captured as a machine-parsable set of key-value pairs.
It also enables propagation of context information to children spans.
How to install
Add tracing-actix-web
to your dependencies:
[]
# ...
= "0.2"
If you are using cargo-edit
, run
tracing-actix-web
0.2.x
depends on actix-web
3.x.x
.
If you are using actix-web
2.x.x
use tracing-actix-web
0.1.x
.
Usage example
Register TracingLogger
as a middleware for your application using .wrap
on App
.
Add a Subscriber
implementation to output logs to the console.
use Logger;
use App;
use ;
use LogTracer;
use TracingLogger;
use ;
use ;
/// Compose multiple layers into a `tracing`'s subscriber.
+ Send + Sync
/// Register a subscriber as global default to process span data.
///
/// It should only be called once!