From ed5b2659c8d67670627f95405cfa6bceab98904f Mon Sep 17 00:00:00 2001 From: Lorenz Leutgeb Date: Fri, 15 Aug 2025 10:52:09 +0200 Subject: [PATCH] cli: Gracefully handle failure to link log file Not linking `node.log` is not ideal, but also not a critical failure. It's better to swallow that instead of crashing. --- crates/radicle-cli/src/commands/node/logs.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/crates/radicle-cli/src/commands/node/logs.rs b/crates/radicle-cli/src/commands/node/logs.rs index e37cd4e8..5f8c16aa 100644 --- a/crates/radicle-cli/src/commands/node/logs.rs +++ b/crates/radicle-cli/src/commands/node/logs.rs @@ -153,11 +153,21 @@ impl Rotate { log::warn!(target: "cli", "Failed to remove current log file: {err}"); } } + let log = OpenOptions::new() .write(true) .create_new(true) .open(&self.next)?; - fs::hard_link(&self.next, &self.link)?; + + if let Err(err) = fs::hard_link(&self.next, &self.link) { + log::warn!( + target: "cli", + "Failed to create hard link from {} to {}: {err}", + self.next.display(), + self.link.display() + ); + } + Ok(Rotated { path: self.next, log,