[−][src]Struct actix_web::middleware::Logger
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 Loggerpub fn new(format: &str) -> Logger[src]
pub fn new(format: &str) -> LoggerCreate 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) -> SelfIgnore and do not log access info for specified path.
Trait Implementations
impl<S> Middleware<S> for Logger[src]
impl<S> Middleware<S> for Loggerfn 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) -> FinishedMethod 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
impl Default for Logger[src]
impl Default for LoggerAuto Trait Implementations
Blanket Implementations
impl<T> From for T[src]
impl<T> From for Timpl<T, U> Into for T where
U: From<T>, [src]
impl<T, U> Into for T where
U: From<T>, impl<T, U> TryFrom for T where
T: From<U>, [src]
impl<T, U> TryFrom for T where
T: From<U>, type Error = !
try_from)The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>try_from)Performs the conversion.
impl<T> Borrow for T where
T: ?Sized, [src]
impl<T> Borrow for T where
T: ?Sized, impl<T> BorrowMut for T where
T: ?Sized, [src]
impl<T> BorrowMut for T where
T: ?Sized, fn borrow_mut(&mut self) -> &mut T[src]
fn borrow_mut(&mut self) -> &mut TMutably borrows from an owned value. Read more
impl<T, U> TryInto for T where
U: TryFrom<T>, [src]
impl<T, U> TryInto for T where
U: TryFrom<T>, type Error = <U as TryFrom<T>>::Error
try_from)The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>try_from)Performs the conversion.
impl<T> Any for T where
T: 'static + ?Sized, [src]
impl<T> Any for T where
T: 'static + ?Sized, fn get_type_id(&self) -> TypeId[src]
fn get_type_id(&self) -> TypeId🔬 This is a nightly-only experimental API. (get_type_id)
this method will likely be replaced by an associated static
Gets the TypeId of self. Read more
impl<T> Erased for T
impl<T> Erased for T