Struct actix_web::middleware::Logger[][src]

pub struct Logger { /* fields omitted */ }

Middleware for logging request and response info to the terminal.

Logger middleware uses standard log crate to log information. You should enable logger for actix_web package to see access log. (env_logger or similar)

Usage

Create Logger middleware with the specified format. Default Logger could be created with default method, it uses the default format:

This example is not tested
 %a "%r" %s %b "%{Referer}i" "%{User-Agent}i" %T
extern crate env_logger;
use actix_web::middleware::Logger;
use actix_web::App;

fn main() {
    std::env::set_var("RUST_LOG", "actix_web=info");
    env_logger::init();

    let app = App::new()
        .middleware(Logger::default())
        .middleware(Logger::new("%a %{User-Agent}i"))
        .finish();
}

Format

%% The percent sign

%a Remote IP-address (IP-address of proxy if using reverse proxy)

%t Time when the request was started to process

%r First line of request

%s Response status code

%b Size of response in bytes, including HTTP headers

%T Time taken to serve the request, in seconds with floating fraction in .06f format

%D Time taken to serve the request, in milliseconds

%{FOO}i request.headers['FOO']

%{FOO}o response.headers['FOO']

%{FOO}e os.environ['FOO']

Methods

impl Logger
[src]

Create Logger middleware with the specified format.

Ignore and do not log access info for specified path.

Trait Implementations

impl Default for Logger
[src]

Create Logger middleware with format:

This example is not tested
%a "%r" %s %b "%{Referer}i" "%{User-Agent}i" %T

impl<S> Middleware<S> for Logger
[src]

Method is called when request is ready. It may return future, which should resolve before next middleware get called. Read more

Method is called after body stream get sent to peer.

Method is called when handler returns response, but before sending http message to peer. Read more

Auto Trait Implementations

impl Send for Logger

impl Sync for Logger