-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathObservabilityExtension.cs
More file actions
30 lines (27 loc) · 1.17 KB
/
Copy pathObservabilityExtension.cs
File metadata and controls
30 lines (27 loc) · 1.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
namespace Comanda.Payments.WebApi.Extensions;
[ExcludeFromCodeCoverage(Justification = "contains only http pipeline configuration with no business logic.")]
public static class ObservabilityExtension
{
public static void AddObservability(this WebApplicationBuilder builder)
{
// prevents seq from being initialized in non-production/non-development environments (e.g., testing)
if (!builder.Environment.IsDevelopment() && !builder.Environment.IsProduction())
return;
builder.Host.UseSerilog((context, services, logger) =>
{
var settings = services.GetRequiredService<ISettings>();
logger
.ReadFrom.Configuration(context.Configuration)
.ReadFrom.Services(services)
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Seq(settings.Observability.SeqServerUrl)
.WriteTo.Sentry(options =>
{
options.Dsn = settings.Observability.SentryDsn;
options.TracesSampleRate = 1.0;
options.AttachStacktrace = true;
});
});
}
}