@@ -327,23 +327,27 @@ fn start_terminal<W: Write>(
327
327
Ok ( terminal)
328
328
}
329
329
330
+ // do log::error! and eprintln! in one line, pass sting, error and backtrace
331
+ macro_rules! log_eprintln {
332
+ ( $string: expr, $e: expr, $bt: expr) => {
333
+ log:: error!( $string, $e, $bt) ;
334
+ eprintln!( $string, $e, $bt) ;
335
+ } ;
336
+ }
337
+
330
338
fn set_panic_handlers ( ) -> Result < ( ) > {
331
339
// regular panic handler
332
340
panic:: set_hook ( Box :: new ( |e| {
333
341
let backtrace = Backtrace :: new ( ) ;
334
- //TODO: create macro to do both in one
335
- log:: error!( "panic: {:?}\n trace:\n {:?}" , e, backtrace) ;
336
- eprintln ! ( "panic: {:?}\n trace:\n {:?}" , e, backtrace) ;
342
+ log_eprintln ! ( "panic: {:?}\n trace:\n {:?}" , e, backtrace) ;
337
343
shutdown_terminal ( ) ;
338
344
} ) ) ;
339
345
340
346
// global threadpool
341
347
rayon_core:: ThreadPoolBuilder :: new ( )
342
348
. panic_handler ( |e| {
343
349
let backtrace = Backtrace :: new ( ) ;
344
- //TODO: create macro to do both in one
345
- log:: error!( "panic: {:?}\n trace:\n {:?}" , e, backtrace) ;
346
- eprintln ! ( "panic: {:?}\n trace:\n {:?}" , e, backtrace) ;
350
+ log_eprintln ! ( "panic: {:?}\n trace:\n {:?}" , e, backtrace) ;
347
351
shutdown_terminal ( ) ;
348
352
process:: abort ( ) ;
349
353
} )
0 commit comments