[−][src]Struct ntex::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 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']
Methods
impl Logger
[src]
pub fn new(format: &str) -> Logger
[src]
Create Logger
middleware with the specified format
.
pub fn exclude<T: Into<String>>(self, path: T) -> Self
[src]
Ignore and do not log access info for specified path.
Trait Implementations
impl Default for Logger
[src]
fn default() -> Self
[src]
Create Logger
middleware with format:
%a "%r" %s %b "%{Referer}i" "%{User-Agent}i" %T
impl<S, Err> Transform<S> for Logger where
S: Service<Request = WebRequest<Err>, Response = WebResponse>,
[src]
S: Service<Request = WebRequest<Err>, Response = WebResponse>,
type Request = WebRequest<Err>
Requests handled by the service.
type Response = WebResponse
Responses given by the service.
type Error = S::Error
Errors produced by the service.
type InitError = ()
Errors produced while building a transform service.
type Transform = LoggerMiddleware<S>
The TransformService
value created by this factory
type Future = Ready<Result<Self::Transform, Self::InitError>>
The future response value.
fn new_transform(&self, service: S) -> Self::Future
[src]
fn map_init_err<F, E>(self, f: F) -> TransformMapInitErr<Self, S, F, E> where
F: Fn(Self::InitError) -> E + Clone,
[src]
F: Fn(Self::InitError) -> E + Clone,
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> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,