@@ -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 ( at, status) = match self . res {
73
65
Ok ( resp) => ( "info" , resp. status ( ) ) ,
74
66
Err ( _) => ( "error" , StatusCode :: INTERNAL_SERVER_ERROR ) ,
@@ -91,7 +83,7 @@ impl Display for RequestLine<'_> {
91
83
}
92
84
93
85
line. add_quoted_field ( "fwd" , request_header ( self . req , "x-real-ip" ) ) ?;
94
- line. add_field ( "service" , self . response_time ) ?;
86
+ line. add_field ( "service" , response_time) ?;
95
87
line. add_field ( "status" , status. as_str ( ) ) ?;
96
88
line. add_quoted_field ( "user_agent" , request_header ( self . req , header:: USER_AGENT ) ) ?;
97
89
@@ -105,7 +97,7 @@ impl Display for RequestLine<'_> {
105
97
line. add_quoted_field ( "error" , err) ?;
106
98
}
107
99
108
- if self . response_time . as_millis ( ) > SLOW_REQUEST_THRESHOLD_MS {
100
+ if response_time. as_millis ( ) > SLOW_REQUEST_THRESHOLD_MS {
109
101
line. add_marker ( "SLOW REQUEST" ) ?;
110
102
}
111
103
0 commit comments