@@ -97,6 +97,10 @@ impl Server {
97
97
self
98
98
}
99
99
100
+ fn common_log ( data : & String ) -> String {
101
+ format ! ( "{}: {}{}" , current_time( ) , data. to_string( ) , HTTP_BR )
102
+ }
103
+
100
104
pub fn listen ( & mut self ) -> & mut Self {
101
105
self . init ( ) ;
102
106
let mut host: & str = EMPTY_STR ;
@@ -112,6 +116,13 @@ impl Server {
112
116
let listener_res: Result < TcpListener , Error > =
113
117
TcpListener :: bind ( & addr) . map_err ( |e| Error :: TcpBindError ( e. to_string ( ) ) ) ;
114
118
if listener_res. is_err ( ) {
119
+ let _ = self . get_tmp ( ) . write ( ) . and_then ( |tmp| {
120
+ tmp. get_log ( ) . log_error (
121
+ format ! ( "{}" , listener_res. err( ) . unwrap_or( Error :: Unknown ) ) ,
122
+ Self :: common_log,
123
+ ) ;
124
+ Ok ( ( ) )
125
+ } ) ;
115
126
return self ;
116
127
}
117
128
let tcp_listener: TcpListener = listener_res. unwrap ( ) ;
@@ -165,16 +176,15 @@ impl Server {
165
176
} ) ;
166
177
if let Err ( err) = thread_result {
167
178
let _ = tmp_arc. read ( ) . and_then ( |tem| {
168
- let err_str: & str = if let Some ( msg) = err. downcast_ref :: < & str > ( ) {
169
- msg
179
+ let err_str: String = if let Some ( msg) = err. downcast_ref :: < String > ( ) {
180
+ msg. to_owned ( )
170
181
} else if let Some ( msg) = err. downcast_ref :: < String > ( ) {
171
- msg
182
+ msg. to_owned ( )
172
183
} else {
173
- & format ! ( "{:# ?}" , err)
184
+ format ! ( "{:?}" , err)
174
185
} ;
175
- tem. get_log ( ) . log_error ( format ! ( "{}" , err_str) , |data| {
176
- format ! ( "{}: {}{}" , current_time( ) , data. to_string( ) , HTTP_BR )
177
- } ) ;
186
+ tem. get_log ( )
187
+ . log_error ( format ! ( "{}" , err_str) , Self :: common_log) ;
178
188
Ok ( ( ) )
179
189
} ) ;
180
190
}
0 commit comments