Verwenden von Serilog und Sentry während des ASP.NET -KernstartsC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Verwenden von Serilog und Sentry während des ASP.NET -Kernstarts

Post by Anonymous »

Ich versuche, Fehler zu protokollieren, die während des App -Starts an Sentry geworfen werden. Ich verwende ASP.NET Core 2.1.2 mit Serilog und Sentry. Wenn ich nur Wachposten benutze, scheint es in Ordnung zu funktionieren. < /P>

Code: Select all

WebHost.CreateDefaultBuilder(args)
.UseSentry("dsn")
.UseStartup()
.Build()
.Run();
< /code>
Wenn ich jedoch Serilog hinzufüge, sendet die App während des Starts keine Ereignisse, obwohl sie weiter funktioniert, wenn eine Ausnahme von einer Controller -Aktion geworfen wird. < /p>
WebHost.CreateDefaultBuilder(args)
.UseSerilog(
(hostingContext, loggerConfiguration) =>
loggerConfiguration
.Enrich.FromLogContext()
.MinimumLevel.Debug()
.WriteTo.Console()
.WriteTo.Sentry(s => {
s.MinimumBreadcrumbLevel = LogEventLevel.Debug;
s.MinimumEventLevel = LogEventLevel.Error;
}))
.UseSentry("dsn")
.UseStartup()
.Build()
.Run();
Ich versuche, beide KonfigurationServices zu protokollieren und Methoden in der Startklasse zu konfigurieren:

Code: Select all

public class Startup
{
public Startup(IConfiguration configuration, ILogger logger)
{
Configuration = configuration;
Logger = logger;
}

public IConfiguration Configuration { get; }
public ILogger Logger { get; }

public void ConfigureServices(IServiceCollection services)
{
Logger.LogError(new Exception("something went wrong while configuring services"), "ERROR");

services
.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.DateFormatString = "yyyy-MM-dd HH:mm:ss";
})
.SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
Logger.LogError(new Exception("something went wrong while configuring app"), "ERROR");
}
}
< /code>
Ich denke, es hat etwas mit der Reihenfolge der Initialisierung jedes Loggers zu tun, aber ich habe den Startprozess nicht genug, um eine Lösung oder zumindest eine Erklärung zu finden. Gibt es eine Idee, warum dies passiert und wie könnte ich es beheben?.UseSerilog(
(hostingContext, loggerConfiguration) =>
loggerConfiguration
.Enrich.FromLogContext()
.MinimumLevel.Debug()
.WriteTo.Console()
.WriteTo.Sentry(s => {
s.MinimumBreadcrumbLevel = LogEventLevel.Debug;
s.MinimumEventLevel = LogEventLevel.Error;
s.Dsn = new Dsn(dsn);
}))

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post