我正在使用内置日志记录提供程序登录到.NET Core控制台应用程序中的控制台(Microsoft.Extensions.Logging.Console
)。有没有在.NET Core日志中格式化输出格式的方法?
每个日志条目在输出中产生两行。我希望每条记录都在一行中。 有没有办法自定义输出格式?
下面是一个例子,我如何使用它:
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...");
}
我得到的是:
dbug: Generator.Program[0]
Application started...
我想什么有是这样的:
dbug: Generator.Program[0]: Application started...
任何想法?我知道,我可以写一个自定义记录器,但我想知道是否有其他方法。
谢谢。
最后我提高微软记录并公布它https://github.com/ilya-chumakov/LoggingAdvanced。使用该包,可以删除消息部分之间的换行符。而且,我添加了另一个杀手功能 - 时间戳! –