Remove unneccessary shim for backtrace

This commit is contained in:
Daniel García 2020-08-12 18:45:26 +02:00
parent 29c6b145ca
commit 93b7ded1e6
No known key found for this signature in database
GPG Key ID: FC8A7D14C3CD543A
1 changed files with 8 additions and 19 deletions

View File

@ -17,7 +17,6 @@ extern crate diesel;
extern crate diesel_migrations;
use std::{
fmt, // For panic logging
fs::create_dir_all,
panic,
path::Path,
@ -26,6 +25,8 @@ use std::{
thread,
};
use structopt::StructOpt;
#[macro_use]
mod error;
mod api;
@ -39,18 +40,6 @@ mod util;
pub use config::CONFIG;
pub use error::{Error, MapResult};
use structopt::StructOpt;
// Used for catching panics and log them to file instead of stderr
use backtrace::Backtrace;
struct Shim(Backtrace);
impl fmt::Debug for Shim {
fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
write!(fmt, "\n{:?}", self.0)
}
}
#[derive(Debug, StructOpt)]
#[structopt(name = "bitwarden_rs", about = "A Bitwarden API server written in Rust")]
struct Opt {
@ -156,8 +145,6 @@ fn init_logging(level: log::LevelFilter) -> Result<(), fern::InitError> {
// Catch panics and log them instead of default output to StdErr
panic::set_hook(Box::new(|info| {
let backtrace = Backtrace::new();
let thread = thread::current();
let thread = thread.name().unwrap_or("unnamed");
@ -169,23 +156,25 @@ fn init_logging(level: log::LevelFilter) -> Result<(), fern::InitError> {
},
};
let backtrace = backtrace::Backtrace::new();
match info.location() {
Some(location) => {
error!(
target: "panic", "thread '{}' panicked at '{}': {}:{}{:?}",
target: "panic", "thread '{}' panicked at '{}': {}:{}\n{:?}",
thread,
msg,
location.file(),
location.line(),
Shim(backtrace)
backtrace
);
}
None => error!(
target: "panic",
"thread '{}' panicked at '{}'{:?}",
"thread '{}' panicked at '{}'\n{:?}",
thread,
msg,
Shim(backtrace)
backtrace
),
}
}));