feat: diagnostic log (tracing)

The app now writes a diagnostic log to nexus.log in the data directory
(0600, rotated at 5 MiB): connection attempts and results, remote
closes, reconnect scheduling, host-key/certificate checks with the
policy applied, and credentials that couldn't be stored (kind only).
Credentials and terminal data are never logged. RUST_LOG sets the level
and also mirrors the log to stderr. The remaining eprintln! diagnostics
in storage and URL handling go through it too.
This commit is contained in:
Andy Dixon
2026-10-12 17:08:37 +01:00
parent 02bd237636
commit aacd44a275
9 changed files with 91 additions and 2 deletions
+1 -1
View File
@@ -136,7 +136,7 @@ pub fn is_web_url(url: &str) -> bool {
/// Opens `url` in the browser if it is a web link; returns false (and opens nothing) otherwise.
pub fn open_web_url(ctx: &egui::Context, url: &str) -> bool {
if !is_web_url(url) {
eprintln!("refusing to open non-web URL {url:?}");
tracing::warn!(url, "refusing to open a non-web URL");
return false;
}
ctx.open_url(egui::OpenUrl::new_tab(url.trim()));