From ec9854212a509013de338779cdf53b9739808c0d Mon Sep 17 00:00:00 2001 From: Mbucari Date: Wed, 14 Jun 2023 10:58:37 -0600 Subject: [PATCH] Write error info to StdErr (#626) --- Source/LibationCli/Options/_OptionsBase.cs | 10 +++++----- Source/LibationCli/Options/_ProcessableOptionsBase.cs | 6 +++++- Source/LibationCli/Program.cs | 2 +- 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/Source/LibationCli/Options/_OptionsBase.cs b/Source/LibationCli/Options/_OptionsBase.cs index e1976adb..40578b75 100644 --- a/Source/LibationCli/Options/_OptionsBase.cs +++ b/Source/LibationCli/Options/_OptionsBase.cs @@ -18,11 +18,11 @@ namespace LibationCli { Environment.ExitCode = (int)ExitCode.RunTimeError; - Console.WriteLine("ERROR"); - Console.WriteLine("====="); - Console.WriteLine(ex.Message); - Console.WriteLine(); - Console.WriteLine(ex.StackTrace); + Console.Error.WriteLine("ERROR"); + Console.Error.WriteLine("====="); + Console.Error.WriteLine(ex.Message); + Console.Error.WriteLine(); + Console.Error.WriteLine(ex.StackTrace); } } diff --git a/Source/LibationCli/Options/_ProcessableOptionsBase.cs b/Source/LibationCli/Options/_ProcessableOptionsBase.cs index e4b255e1..664499c1 100644 --- a/Source/LibationCli/Options/_ProcessableOptionsBase.cs +++ b/Source/LibationCli/Options/_ProcessableOptionsBase.cs @@ -27,6 +27,7 @@ namespace LibationCli } catch (Exception ex) { + Console.Error.WriteLine("CLI error. See log for more details."); Serilog.Log.Logger.Error(ex, "CLI error"); } }; @@ -54,12 +55,15 @@ namespace LibationCli return; foreach (var errorMessage in statusHandler.Errors) + { + Console.Error.WriteLine(errorMessage); Serilog.Log.Logger.Error(errorMessage); + } } catch (Exception ex) { var msg = "Error processing book. Skipping. This book will be tried again on next attempt. For options of skipping or marking as error, retry with main Libation app."; - Console.WriteLine(msg + ". See log for more details."); + Console.Error.WriteLine(msg + ". See log for more details."); Serilog.Log.Logger.Error(ex, $"{msg} {{@DebugInfo}}", new { Book = libraryBook.LogFriendly() }); } } diff --git a/Source/LibationCli/Program.cs b/Source/LibationCli/Program.cs index e1d2c32f..3bdce3da 100644 --- a/Source/LibationCli/Program.cs +++ b/Source/LibationCli/Program.cs @@ -70,7 +70,7 @@ namespace LibationCli if (errorsList.Any(e => e.Tag.In(ErrorType.NoVerbSelectedError))) { - Console.WriteLine("No verb selected"); + Console.Error.WriteLine("No verb selected"); return; }