@@ -17,16 +17,7 @@ pub(super) struct LogRequests();
17
17
18
18
impl Middleware for LogRequests {
19
19
fn after ( & self , req : & mut dyn RequestExt , res : AfterResult ) -> AfterResult {
20
- let response_time = req. extensions ( ) . find :: < ResponseTime > ( ) . unwrap ( ) ;
21
-
22
- println ! (
23
- "{}" ,
24
- RequestLine {
25
- req,
26
- res: & res,
27
- response_time,
28
- }
29
- ) ;
20
+ println ! ( "{}" , RequestLine { req, res: & res } ) ;
30
21
31
22
res
32
23
}
@@ -62,13 +53,14 @@ pub(crate) fn get_log_message(req: &dyn RequestExt, key: &'static str) -> String
62
53
struct RequestLine < ' r > {
63
54
req : & ' r dyn RequestExt ,
64
55
res : & ' r AfterResult ,
65
- response_time : & ' r ResponseTime ,
66
56
}
67
57
68
58
impl Display for RequestLine < ' _ > {
69
59
fn fmt ( & self , f : & mut Formatter < ' _ > ) -> fmt:: Result {
70
60
let mut line = LogLine :: new ( f) ;
71
61
62
+ let response_time = self . req . extensions ( ) . find :: < ResponseTime > ( ) . unwrap ( ) ;
63
+
72
64
let status = self . res . as_ref ( ) . map ( |res| res. status ( ) ) ;
73
65
let status = status. unwrap_or ( StatusCode :: INTERNAL_SERVER_ERROR ) ;
74
66
@@ -95,7 +87,7 @@ impl Display for RequestLine<'_> {
95
87
}
96
88
97
89
line. add_quoted_field ( "fwd" , request_header ( self . req , "x-real-ip" ) ) ?;
98
- line. add_field ( "service" , self . response_time ) ?;
90
+ line. add_field ( "service" , response_time) ?;
99
91
line. add_field ( "status" , status. as_str ( ) ) ?;
100
92
line. add_quoted_field ( "user_agent" , request_header ( self . req , header:: USER_AGENT ) ) ?;
101
93
@@ -109,7 +101,7 @@ impl Display for RequestLine<'_> {
109
101
line. add_quoted_field ( "error" , err) ?;
110
102
}
111
103
112
- if self . response_time . as_millis ( ) > SLOW_REQUEST_THRESHOLD_MS {
104
+ if response_time. as_millis ( ) > SLOW_REQUEST_THRESHOLD_MS {
113
105
line. add_marker ( "SLOW REQUEST" ) ?;
114
106
}
115
107
0 commit comments