Ist .NET Core 2.0 Protokollierung kaputt?

Ich kann nicht scheinen, um die Trace-Stufe log-Informationen ausgegeben, die nach der Aktualisierung auf .NET Core 2.0 (+ASP.NET Core 2.0).

In der Tat, wenn ich einen dotnet new webProjekt, und fügen Sie den folgenden code in Start-up Konfigurieren, ich bekomme keine trace-oder debug-log-Nachrichten, aber ich bekomme die Informationen und Fehlermeldungen zweimal. Auskommentieren der .AddConsole()nennen wird diese Ausgabe (Daten und Fehler) nur einmal - was darauf hindeutet, dass es wird automatisch konfiguriert, mit einer Konsole provider standardmäßig. Beachten Sie, dies ist ein "Datei -> Neues" Projekt Erfahrung, es gibt nichts, das setup im Program.cs für die Anmeldung oder Konfiguration für diese - außer für das, was ich Hinzugefügt habe. Jemand gesehen, was? Oder sollte ich mich registrieren GitHub Problem für Sie.

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
    loggerFactory.AddConsole(Microsoft.Extensions.Logging.LogLevel.Trace);

    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.Run(async (context) =>
    {
        var logger = loggerFactory.CreateLogger("Blah");
        logger.LogTrace("Hello world : Trace");
        logger.LogDebug("Hello world : Debug");
        logger.LogInformation("Hello world : Information");
        logger.LogError("Hello world : Error");

        await context.Response.WriteAsync("Hello World!");
    });
}
  • will give me them once Was meinst du damit?
  • Bearbeitet; ich bekomme Info und Fehler zweimal - aber wenn ich meine AddConsole() Zeile - ich bekomme die Info und den Fehler einmal, aber noch keine Spur von Debug-Meldungen an alle-mit oder ohne meine ausdrückliche Linie zu sagen, dass Konsole und Trace-level.
  • Sind Sie in der Entwicklung? Standard-Umgebung ist nun die Produktion.. man kann versuchen set ASPNETCORE_ENVIRONMENT=Development; dotnet run
  • Ich lief in ein ähnliches Problem. Hinzufügen eines await Task.Delay(1) nach der Protokollierung Aussagen bekommt die Konsole auf Protokolle anzeigen. Wenn Es es aus, nur teilweise Protokolle werden auf der Konsole angezeigt. Die akzeptierte Antwort nicht wirklich etwas tun. Es scheint ein threading-Problem.
InformationsquelleAutor EinarI | 2017-08-20
Schreibe einen Kommentar