1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-30 18:34:36 +01:00

Fix logger request duration calculation

This commit is contained in:
Nikolay Kim 2018-04-02 11:09:24 -07:00
parent 9d39f441e9
commit 83bf852192
3 changed files with 11 additions and 13 deletions

View File

@ -19,6 +19,8 @@
* Fix client connection pooling * Fix client connection pooling
* Fix logger request duration calculation #152
## 0.4.10 (2018-03-20) ## 0.4.10 (2018-03-20)

View File

@ -11,10 +11,10 @@ fn index(_req: HttpRequest) -> &'static str {
fn main() { fn main() {
::std::env::set_var("RUST_LOG", "actix_web=info"); ::std::env::set_var("RUST_LOG", "actix_web=info");
let _ = env_logger::init(); env_logger::init();
let sys = actix::System::new("ws-example"); let sys = actix::System::new("hello-world");
let _addr = server::new( server::new(
|| App::new() || App::new()
// enable logger // enable logger
.middleware(middleware::Logger::default()) .middleware(middleware::Logger::default())

View File

@ -231,18 +231,14 @@ impl FormatText {
FormatText::ResponseSize => resp.response_size().fmt(fmt), FormatText::ResponseSize => resp.response_size().fmt(fmt),
FormatText::Pid => unsafe{libc::getpid().fmt(fmt)}, FormatText::Pid => unsafe{libc::getpid().fmt(fmt)},
FormatText::Time => { FormatText::Time => {
let response_time = time::now() - entry_time; let rt = time::now() - entry_time;
let response_time = response_time.num_seconds() as f64 + let rt = (rt.num_nanoseconds().unwrap_or(0) as f64) / 1_000_000_000.0;
(response_time.num_nanoseconds().unwrap_or(0) as f64)/1_000_000_000.0; fmt.write_fmt(format_args!("{:.6}", rt))
fmt.write_fmt(format_args!("{:.6}", response_time))
}, },
FormatText::TimeMillis => { FormatText::TimeMillis => {
let response_time = time::now() - entry_time; let rt = time::now() - entry_time;
let response_time_ms = (response_time.num_seconds() * 1000) as f64 + let rt = (rt.num_nanoseconds().unwrap_or(0) as f64) / 1_000_000.0;
(response_time.num_nanoseconds().unwrap_or(0) as f64)/1_000_000.0; fmt.write_fmt(format_args!("{:.6}", rt))
fmt.write_fmt(format_args!("{:.6}", response_time_ms))
}, },
FormatText::RemoteAddr => { FormatText::RemoteAddr => {
if let Some(remote) = req.connection_info().remote() { if let Some(remote) = req.connection_info().remote() {