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:
%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]
impl Logger
pub fn new(format: &str) -> Logger
[src]
pub fn new(format: &str) -> Logger
Create Logger
middleware with the specified format
.
pub fn exclude<T: Into<String>>(self, path: T) -> Self
[src]
pub fn exclude<T: Into<String>>(self, path: T) -> Self
Ignore and do not log access info for specified path.
Trait Implementations
impl Default for Logger
[src]
impl Default for Logger
fn default() -> Logger
[src]
fn default() -> Logger
Create Logger
middleware with format:
%a "%r" %s %b "%{Referer}i" "%{User-Agent}i" %T
impl<S> Middleware<S> for Logger
[src]
impl<S> Middleware<S> for Logger
fn start(&self, req: &HttpRequest<S>) -> Result<Started>
[src]
fn start(&self, req: &HttpRequest<S>) -> Result<Started>
Method is called when request is ready. It may return future, which should resolve before next middleware get called. Read more
fn finish(&self, req: &HttpRequest<S>, resp: &HttpResponse) -> Finished
[src]
fn finish(&self, req: &HttpRequest<S>, resp: &HttpResponse) -> Finished
Method is called after body stream get sent to peer.
fn response(&self, req: &HttpRequest<S>, resp: HttpResponse) -> Result<Response>
[src]
fn response(&self, req: &HttpRequest<S>, resp: HttpResponse) -> Result<Response>
Method is called when handler returns response, but before sending http message to peer. Read more