diff --git a/src/ClaudeDo.App/Program.cs b/src/ClaudeDo.App/Program.cs index 88221107..1ac75e47 100644 --- a/src/ClaudeDo.App/Program.cs +++ b/src/ClaudeDo.App/Program.cs @@ -50,13 +50,13 @@ sealed class Program var version = Assembly.GetEntryAssembly()? .GetCustomAttribute()?.InformationalVersion ?? "0.0.0"; - Log.Information("ClaudeDo.App starting (version: {Version})", version); + Log.Information("ClaudeDo.App starting (version: {version})", version); // Last-resort net: any exception that misses every other handler still gets one // Fatal line in the log before the process dies. AppDomain.CurrentDomain.UnhandledException += (_, e) => { - Log.Fatal(e.ExceptionObject as Exception, "Unhandled exception, terminating (IsTerminating: {IsTerminating})", e.IsTerminating); + Log.Fatal(e.ExceptionObject as Exception, "Unhandled exception, terminating (is_terminating: {is_terminating})", e.IsTerminating); Log.CloseAndFlush(); }; TaskScheduler.UnobservedTaskException += (_, e) => diff --git a/src/ClaudeDo.Ui/Services/WorkerClient.cs b/src/ClaudeDo.Ui/Services/WorkerClient.cs index 51e36120..ea14431a 100644 --- a/src/ClaudeDo.Ui/Services/WorkerClient.cs +++ b/src/ClaudeDo.Ui/Services/WorkerClient.cs @@ -304,11 +304,12 @@ public partial class WorkerClient : ObservableObject, IAsyncDisposable, IWorkerC ok = true; return result; } - catch (Exception ex) + catch (Exception ex) when (ex is not OperationCanceledException) { - Serilog.Log.Warning(ex, "Hub call {Method} failed", method); + Serilog.Log.Warning(ex, "Hub call {method_name} failed", method); return default; } + catch { return default; } finally { OperationTiming.Shared.Record("hub", method, sw.Elapsed, ok); } } @@ -324,7 +325,7 @@ public partial class WorkerClient : ObservableObject, IAsyncDisposable, IWorkerC } catch (Exception ex) { - Serilog.Log.Warning(ex, "Hub call {Method} failed", method); + Serilog.Log.Warning(ex, "Hub call {method_name} failed", method); throw; } finally { OperationTiming.Shared.Record("hub", method, sw.Elapsed, ok); } @@ -343,7 +344,7 @@ public partial class WorkerClient : ObservableObject, IAsyncDisposable, IWorkerC } catch (Exception ex) { - Serilog.Log.Warning(ex, "Hub call {Method} failed", method); + Serilog.Log.Warning(ex, "Hub call {method_name} failed", method); throw; } finally { OperationTiming.Shared.Record("hub", method, sw.Elapsed, ok); } diff --git a/src/ClaudeDo.Ui/ViewModels/IslandsShellViewModel.cs b/src/ClaudeDo.Ui/ViewModels/IslandsShellViewModel.cs index 6a4c9ac4..f1e58c0a 100644 --- a/src/ClaudeDo.Ui/ViewModels/IslandsShellViewModel.cs +++ b/src/ClaudeDo.Ui/ViewModels/IslandsShellViewModel.cs @@ -209,7 +209,7 @@ public sealed partial class IslandsShellViewModel : ViewModelBase, IDisposable private void FlashFooter(string message, WorkerLogLevel level) { if (level == WorkerLogLevel.Error) - Serilog.Log.Warning("Footer error: {Message}", message); + Serilog.Log.Warning("Footer error: {message}", message); WorkerLogText = $"{DateTime.Now:HH:mm} ยท {message}"; WorkerLogLevel = level; diff --git a/src/ClaudeDo.Worker/Hub/HubExceptionLoggingFilter.cs b/src/ClaudeDo.Worker/Hub/HubExceptionLoggingFilter.cs index 0c70ddc8..c569286f 100644 --- a/src/ClaudeDo.Worker/Hub/HubExceptionLoggingFilter.cs +++ b/src/ClaudeDo.Worker/Hub/HubExceptionLoggingFilter.cs @@ -20,7 +20,7 @@ public sealed class HubExceptionLoggingFilter(ILogger } catch (Exception ex) { - logger.LogWarning(ex, "Hub method {Method} failed", invocationContext.HubMethodName); + logger.LogWarning(ex, "Hub method {method_name} failed", invocationContext.HubMethodName); throw; } }