Struct ntex::web::middleware::Logger [−][src]
pub struct Logger { /* fields omitted */ }
Expand description
Middleware
for logging request and response info to the terminal.
Logger
middleware uses standard log crate to log information. You should
enable logger for ntex
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
use ntex::web::App; use ntex::web::middleware::Logger; fn main() { std::env::set_var("RUST_LOG", "ntex=info"); env_logger::init(); let app = App::new() .wrap(Logger::default()) .wrap(Logger::new("%a %{User-Agent}i")); }
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 (in rfc3339 format)
%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
%U
Request URL
%{FOO}i
request.headers[‘FOO’]
%{FOO}o
response.headers[‘FOO’]
%{FOO}e
os.environ[‘FOO’]
Implementations
Trait Implementations
impl<S, Err> Transform<S> for Logger where
S: Service<Request = WebRequest<Err>, Response = WebResponse>,
[src]
impl<S, Err> Transform<S> for Logger where
S: Service<Request = WebRequest<Err>, Response = WebResponse>,
[src]type Request = WebRequest<Err>
type Request = WebRequest<Err>
Requests handled by the service.
type Response = WebResponse
type Response = WebResponse
Responses given by the service.
type Transform = LoggerMiddleware<S>
type Transform = LoggerMiddleware<S>
The TransformService
value created by this factory
fn new_transform(&self, service: S) -> Self::Future
[src]
fn new_transform(&self, service: S) -> Self::Future
[src]Creates and returns a new Transform component, asynchronously
fn map_init_err<F, E>(self, f: F) -> TransformMapInitErr<Self, S, F, E> where
F: Fn(Self::InitError) -> E + Clone,
[src]
fn map_init_err<F, E>(self, f: F) -> TransformMapInitErr<Self, S, F, E> where
F: Fn(Self::InitError) -> E + Clone,
[src]Map this transforms’s factory error to a different error, returning a new transform service factory. Read more
Auto Trait Implementations
impl !RefUnwindSafe for Logger
impl !Send for Logger
impl !Sync for Logger
impl Unpin for Logger
impl UnwindSafe for Logger
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self