Używam wbudowanego dostawcy rejestrowania do logowania się do konsoli (Microsoft.Extensions.Logging.Console
) w aplikacji konsoli .NET Core.Czy istnieje sposób formatowania formatu wyjściowego w protokołowaniu .NET Core?
Każde wpisanie do dziennika powoduje utworzenie dwóch wierszy na wyjściu. Chciałbym, aby każdy wpis był w jednym wierszu. Czy istnieje sposób na dostosowanie formatu wyjściowego?
Oto przykład, jak go używać:
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...");
}
Co pojawia się:
dbug: Generator.Program[0]
Application started...
Co chciałbym mieć to coś takiego:
dbug: Generator.Program[0]: Application started...
Dowolny pomysł? Wiem, że mógłbym napisać własny rejestrator, ale chciałbym wiedzieć, czy jest inny sposób.
Dzięki.
W końcu poprawił Microsoft rejestratora i opublikowane to https://github.com/ilya-chumakov/LoggingAdvanced. Za pomocą tego pakietu można usunąć podział wiersza między częściami wiadomości. Co więcej, dodałem kolejną cechę zabójcy - znacznik czasu! –