From e5da070f7bf9713c9f6652e4bdc501e5e5929494 Mon Sep 17 00:00:00 2001 From: Jan Jansen Date: Tue, 7 Dec 2021 11:42:49 +0100 Subject: [PATCH] Rework sentry with serilog Signed-off-by: Jan Jansen --- shared.csproj | 2 +- .../DefaultHostBuilderExtensions.cs | 21 ++++++++++++------- .../DefaultHostBuilderExtensions.cs | 6 +++--- ...Motor.Extensions.Diagnostics.Sentry.csproj | 2 +- 4 files changed, 18 insertions(+), 13 deletions(-) diff --git a/shared.csproj b/shared.csproj index f17fafae..283dede0 100644 --- a/shared.csproj +++ b/shared.csproj @@ -1,7 +1,7 @@ - 0.9.2 + 0.9.3 10 enable CS8600;CS8602;CS8625;CS8618;CS8604;CS8601 diff --git a/src/Motor.Extensions.Diagnostics.Logging/DefaultHostBuilderExtensions.cs b/src/Motor.Extensions.Diagnostics.Logging/DefaultHostBuilderExtensions.cs index 4016ed5c..6ca148f1 100644 --- a/src/Motor.Extensions.Diagnostics.Logging/DefaultHostBuilderExtensions.cs +++ b/src/Motor.Extensions.Diagnostics.Logging/DefaultHostBuilderExtensions.cs @@ -1,10 +1,10 @@ using System; +using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; -using Microsoft.Extensions.Logging; using Motor.Extensions.Diagnostics.Sentry; using Motor.Extensions.Utilities.Abstractions; -using Sentry; +using Sentry.Serilog; using Serilog; using Serilog.Formatting.Json; @@ -19,22 +19,27 @@ public static IMotorHostBuilder ConfigureSerilog(this IMotorHostBuilder hostBuil .ConfigureSentry() .UseSerilog((hostingContext, loggerConfiguration) => { + var sentryOptions = new SentrySerilogOptions(); + hostingContext.Configuration.GetSection("Sentry").Bind(sentryOptions); loggerConfiguration .ReadFrom.Configuration(hostingContext.Configuration) .Enrich.FromLogContext() - .WriteTo.Console(new JsonFormatter(renderMessage: true)); + .WriteTo.Console(new JsonFormatter(renderMessage: true)) + .WriteTo.Sentry(opts => + { + opts.Dsn = sentryOptions.Dsn; + opts.MinimumEventLevel = sentryOptions.MinimumEventLevel; + opts.MinimumBreadcrumbLevel = sentryOptions.MinimumBreadcrumbLevel; + opts.InitializeSdk = false; + }); configuration?.Invoke(hostingContext, loggerConfiguration); }) .ConfigureServices((_, services) => { services.AddLogging(loggingBuilder => { - var builder = loggingBuilder + loggingBuilder .AddSerilog(dispose: true); - if (SentrySdk.IsEnabled) - { - builder.AddSentry(o => o.InitializeSdk = false); - } }); }); } diff --git a/src/Motor.Extensions.Diagnostics.Sentry/DefaultHostBuilderExtensions.cs b/src/Motor.Extensions.Diagnostics.Sentry/DefaultHostBuilderExtensions.cs index 1bd8cf0c..5f55cb5c 100644 --- a/src/Motor.Extensions.Diagnostics.Sentry/DefaultHostBuilderExtensions.cs +++ b/src/Motor.Extensions.Diagnostics.Sentry/DefaultHostBuilderExtensions.cs @@ -3,7 +3,7 @@ using Microsoft.Extensions.Options; using Motor.Extensions.Utilities.Abstractions; using Sentry; -using Sentry.Extensions.Logging; +using Sentry.Serilog; using MSOptions = Microsoft.Extensions.Options.Options; namespace Motor.Extensions.Diagnostics.Sentry; @@ -15,10 +15,10 @@ public static IMotorHostBuilder ConfigureSentry(this IMotorHostBuilder hostBuild return hostBuilder .ConfigureServices((context, services) => { - var sentryOptions = new SentryLoggingOptions(); + var sentryOptions = new SentrySerilogOptions(); context.Configuration.GetSection("Sentry").Bind(sentryOptions); SentrySdk.Init(sentryOptions); - services.AddTransient>(_ => MSOptions.Create(sentryOptions)); + services.AddTransient>(_ => MSOptions.Create(sentryOptions)); }); } } diff --git a/src/Motor.Extensions.Diagnostics.Sentry/Motor.Extensions.Diagnostics.Sentry.csproj b/src/Motor.Extensions.Diagnostics.Sentry/Motor.Extensions.Diagnostics.Sentry.csproj index cbe99d62..b80d7082 100644 --- a/src/Motor.Extensions.Diagnostics.Sentry/Motor.Extensions.Diagnostics.Sentry.csproj +++ b/src/Motor.Extensions.Diagnostics.Sentry/Motor.Extensions.Diagnostics.Sentry.csproj @@ -6,7 +6,7 @@ - +