img*_*gen 6 serilog asp.net-core asp.net-core-5.0
我将Serilog记录器与控制台接收器一起使用来在我的项目中进行日志记录ASP.NET Core 5.0。也可以与 EF Core 5.0 一起使用,ILoggerFactory如下所示
optionsBuilder.UseLoggerFactory(serilogFactory)
Run Code Online (Sandbox Code Playgroud)
但是,当 EF Core 记录 SQL 语句时,这些行在控制台上不会显示为换行符,而是显示为\r\n。LoggerFactory但是如果我使用像ASP.NET Core下面这样的内置函数
var loggerFactory = LoggerFactory.Create(
builder => builder.AddConsole(options =>
{
})
);
optionsBuilder.UseLoggerFactory(loggerFactory);
Run Code Online (Sandbox Code Playgroud)
那么就可以了。
有办法解决这个问题吗?
将 Serilog 与控制台接收器一起使用时,Message模板中的属性应具有格式说明符:l以实现所需的格式:
"outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:l}{NewLine}{Exception}"
Run Code Online (Sandbox Code Playgroud)
通过使用该说明符,消息字符串将不会被引用,从而正确格式化输出。
有关说明符的更多信息:https ://github.com/serilog/serilog/wiki/Formatting-Output
| 归档时间: |
|
| 查看次数: |
4557 次 |
| 最近记录: |