[−][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']
Implementations
impl Logger
[src]
pub fn new(format: &str) -> Logger
[src]
Create Logger
middleware with the specified format
.
pub fn exclude<T: Into<String>>(mut self: Self, path: T) -> Self
[src]
Ignore and do not log access info for specified path.
Trait Implementations
impl Default for Logger
[src]
pub 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.
pub fn new_transform(&self, service: S) -> Self::Future
[src]
pub 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
[src]
impl !Send for Logger
[src]
impl !Sync for Logger
[src]
impl Unpin for Logger
[src]
impl UnwindSafe for Logger
[src]
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[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.
pub 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.
pub 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>,