From 64306db2dc7453da1d5bbfa7ecb0017f3ab231b6 Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Sat, 7 Jan 2023 07:53:12 -0600 Subject: [PATCH 1/5] refactor: Add exception message enricher Allows exception message without a stack trace to be written to the console, while full exception details are still written to file sinks. --- src/Recyclarr.Cli/Logging/LoggerFactory.cs | 11 +++++++---- .../Serilog/ExceptionMessageEnricher.cs | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 src/Recyclarr.Common/Serilog/ExceptionMessageEnricher.cs diff --git a/src/Recyclarr.Cli/Logging/LoggerFactory.cs b/src/Recyclarr.Cli/Logging/LoggerFactory.cs index ae3aec27..58e4149b 100644 --- a/src/Recyclarr.Cli/Logging/LoggerFactory.cs +++ b/src/Recyclarr.Cli/Logging/LoggerFactory.cs @@ -1,4 +1,5 @@ using System.IO.Abstractions; +using Recyclarr.Common.Serilog; using Recyclarr.TrashLib.Startup; using Serilog; using Serilog.Events; @@ -22,19 +23,20 @@ public class LoggerFactory return $"{{#if {scope} is not null}}{{{scope}}}: {{#end}}" + - "{@m}\n" + - "{@x}"; + "{@m}"; } private static ExpressionTemplate GetConsoleTemplate() { - var template = "[{@l:u3}] " + GetBaseTemplateString(); + var template = "[{@l:u3}] " + GetBaseTemplateString() + ": {ExceptionMessage}\n"; + return new ExpressionTemplate(template, theme: TemplateTheme.Code); } private static ExpressionTemplate GetFileTemplate() { - var template = "[{@t:HH:mm:ss} {@l:u3}] " + GetBaseTemplateString(); + var template = "[{@t:HH:mm:ss} {@l:u3}] " + GetBaseTemplateString() + "\n{@x}"; + return new ExpressionTemplate(template); } @@ -44,6 +46,7 @@ public class LoggerFactory return new LoggerConfiguration() .MinimumLevel.Is(LogEventLevel.Debug) + .Enrich.With() .WriteTo.Console(GetConsoleTemplate(), level) .WriteTo.File(GetFileTemplate(), logPath.FullName) .Enrich.FromLogContext() diff --git a/src/Recyclarr.Common/Serilog/ExceptionMessageEnricher.cs b/src/Recyclarr.Common/Serilog/ExceptionMessageEnricher.cs new file mode 100644 index 00000000..2b49b852 --- /dev/null +++ b/src/Recyclarr.Common/Serilog/ExceptionMessageEnricher.cs @@ -0,0 +1,18 @@ +using Serilog.Core; +using Serilog.Events; + +namespace Recyclarr.Common.Serilog; + +public class ExceptionMessageEnricher : ILogEventEnricher +{ + public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory) + { + if (logEvent.Exception is null) + { + return; + } + + logEvent.AddPropertyIfAbsent(propertyFactory.CreateProperty( + "ExceptionMessage", logEvent.Exception.Message)); + } +} From 3ed9d4c8141a7581b4ce30e63e323867dfa1a2cf Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Sun, 8 Jan 2023 15:21:56 -0600 Subject: [PATCH 2/5] chore: Update run configurations in Rider --- ...ustom_.xml => config_create__p_custom.xml} | 4 ++-- ...config__default_.xml => create_config.xml} | 6 +++--- .../list custom-formats radarr.run.xml | 20 +++++++++++++++++++ .../list custom-formats sonarr.run.xml | 20 +++++++++++++++++++ .../list qualities radarr.run.xml | 20 +++++++++++++++++++ .../list qualities sonarr.run.xml | 20 +++++++++++++++++++ .../list release-profiles --terms.run.xml | 20 +++++++++++++++++++ .../list release-profiles.run.xml | 20 +++++++++++++++++++ .../.idea/runConfigurations/migrate.run.xml | 20 +++++++++++++++++++ .../radarr___list_custom_formats.xml | 4 ++-- .../.idea/runConfigurations/recyclarr.run.xml | 20 +++++++++++++++++++ .../.idea/runConfigurations/sonarr.xml | 4 ++-- .../runConfigurations/sync -c custom.run.xml | 20 +++++++++++++++++++ .../.idea/runConfigurations/sync.xml | 20 +++++++++++++++++++ .../.idea/runConfigurations/sync__i__i.xml | 20 +++++++++++++++++++ 15 files changed, 229 insertions(+), 9 deletions(-) rename src/.idea/.idea.Recyclarr/.idea/runConfigurations/{create_config__custom_.xml => config_create__p_custom.xml} (80%) rename src/.idea/.idea.Recyclarr/.idea/runConfigurations/{create_config__default_.xml => create_config.xml} (77%) create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/list custom-formats radarr.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/list custom-formats sonarr.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/list qualities radarr.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/list qualities sonarr.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/list release-profiles --terms.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/list release-profiles.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/migrate.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/recyclarr.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/sync -c custom.run.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/sync.xml create mode 100644 src/.idea/.idea.Recyclarr/.idea/runConfigurations/sync__i__i.xml diff --git a/src/.idea/.idea.Recyclarr/.idea/runConfigurations/create_config__custom_.xml b/src/.idea/.idea.Recyclarr/.idea/runConfigurations/config_create__p_custom.xml similarity index 80% rename from src/.idea/.idea.Recyclarr/.idea/runConfigurations/create_config__custom_.xml rename to src/.idea/.idea.Recyclarr/.idea/runConfigurations/config_create__p_custom.xml index e665d6a3..e93f7ef9 100644 --- a/src/.idea/.idea.Recyclarr/.idea/runConfigurations/create_config__custom_.xml +++ b/src/.idea/.idea.Recyclarr/.idea/runConfigurations/config_create__p_custom.xml @@ -1,7 +1,7 @@ - +