Skip to content

Commit

Permalink
Log panics so they're seen on windows as well
Browse files Browse the repository at this point in the history
  • Loading branch information
IntQuant committed Dec 15, 2024
1 parent bc5547e commit 83f7a7d
Showing 1 changed file with 26 additions and 1 deletion.
27 changes: 26 additions & 1 deletion noita-proxy/src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,15 @@
use std::{
fs::File,
io::{self, BufWriter},
panic,
};

use eframe::{
egui::{IconData, ViewportBuilder},
NativeOptions,
};
use noita_proxy::{args::Args, connect_cli, host_cli, App};
use tracing::{info, level_filters::LevelFilter};
use tracing::{error, info, level_filters::LevelFilter};
use tracing_subscriber::EnvFilter;

#[allow(clippy::needless_return)]
Expand Down Expand Up @@ -43,6 +44,30 @@ async fn main() {

tracing::subscriber::set_global_default(my_subscriber).expect("setting tracing default failed");

panic::set_hook(Box::new(|info| {
let mut payload = "no panic payload available".to_string();

if let Some(p) = info.payload().downcast_ref::<&str>() {
payload = p.to_string();
}

if let Some(p) = info.payload().downcast_ref::<String>() {
payload = p.to_string();
}

match info.location() {
Some(loc) => {
let file = loc.file();
let line = loc.line();
let col = loc.column();
error!("Panic occured at {file}:{line}:{col} : {payload}");
}
None => {
error!("Panic occured at unknown location: {payload}");
}
}
}));

let args: Args = argh::from_env();

info!("Launch command: {:?}", args.launch_cmd);
Expand Down

0 comments on commit 83f7a7d

Please sign in to comment.