Gibt es eine Möglichkeit, um die Ausgabe zu formatieren-format in .NET-Core-logging?

Ich bin mit dem integrierten logging-Anbieter für die Protokollierung in der Konsole (Microsoft.Extensions.Logging.Console) in einem .NET-Core-console-Anwendung.

Jeder logging-Eintrag erzeugt zwei Linien in der Ausgabe. Ich möchte jeden Eintrag in einer Zeile.
Gibt es eine Möglichkeit, das Ausgabeformat anpassen?

Hier ist ein Beispiel, wie ich es verwenden:

static void Main(string[] args)
{
    var serviceProvider = new ServiceCollection()
      .AddLogging() //This adds the Microsoft logging.
      .AddSingleton<IProjectGeneratorService, CSharpProjectGeneratorService>()
      .BuildServiceProvider();

    //Configure the console logging.
    serviceProvider
      .GetService<ILoggerFactory>()
      .AddConsole(LogLevel.Debug);

    //Write a logging entry
    var logger = serviceProvider.GetService<ILoggerFactory>().CreateLogger<Program>();
    logger.LogDebug("Application started...");
}

Was ich bekomme ist:

dbug: Generator.Program[0]
      Application started...

Was ich haben möchte ist so etwas wie dieses:

dbug: Generator.Program[0]: Application started...

Irgendeine Idee? Ich weiß, dass ich schreiben konnte, eine benutzerdefinierte logger, aber ich würde gerne wissen, ob es eine andere Art und Weise.

Dank.

  • Schließlich habe ich den verbesserten Microsoft-logger und veröffentlicht es, github.com/ilya-chumakov/LoggingAdvanced. Mit diesem Paket ist es möglich, die Zeile zu entfernen Trennung zwischen Nachricht teilen. Außerdem habe ich noch ein weiteres killer-feature - timestamp!
InformationsquelleAutor BooFar | 2017-05-28
Schreibe einen Kommentar