From 9044448ee55e4dcadf9fa64842d32147593e3cd9 Mon Sep 17 00:00:00 2001 From: TgZ39 Date: Thu, 30 Jan 2025 23:00:28 +0100 Subject: [PATCH] fix: panic messages now log to file --- wizardrs-client/src/main.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/wizardrs-client/src/main.rs b/wizardrs-client/src/main.rs index 76ce791..c0da3af 100644 --- a/wizardrs-client/src/main.rs +++ b/wizardrs-client/src/main.rs @@ -27,6 +27,7 @@ const MAX_LOGS: usize = 20; #[tokio::main] async fn main() -> Result<()> { + setup_panic_hook(); setup_logger()?; debug!("started logger"); @@ -181,3 +182,12 @@ fn setup_logger() -> Result<()> { Ok(()) } + +fn setup_panic_hook() { + std::panic::set_hook(Box::new(|info| { + let location = info.location().map(|loc| format!("{}:{}:{}", loc.file(), loc.line(), loc.column())).unwrap_or("unknown".to_string()); + let message = info.payload().downcast_ref::<&str>().map_or_else(|| "unknown panic".to_string(), |s| s.to_string()); + + error!("Panic occurred: {} at {}", message, location); + })); +} \ No newline at end of file