代码中是这样配置 Serilog 的
private static void ConfigureSerilog(WebHostBuilderContext context, LoggerConfiguration conf)
{
conf.ReadFrom.Configuration(context.Configuration).Enrich.FromLogContext()
.WriteTo.RollingFile("logs/log-{Date}.log")
.WriteTo.Elasticsearch(
nodeUris: "xxx",
indexFormat: "dev-log-q-web-{0:yyyy.MM.dd}",
inlineFields: true,
autoRegisterTemplate: true);
}
但 RollingFile 输出的日志却出现了该换行却没有换行的问题
2019-04-19 12:09:24.094 [Information] Entity Framework Core "2.2.3-servicing-35854" initialized '"EfUnitOfWork"2019-04-19 12:09:24.094 +08:00 [Information] Entity Framework Core "2.2.3-servicing-35854" initialized '"EfUnitOfWork"' using provider '"Mi2019-04-19 12:09:25.805 [Debug] Compiling query model: "
"'"(from UserInf2019-04-19 12:09:25.805 +08:00 [Debug] Compiling query model: "
而去掉 .WriteTo.Elasticsearch
就没这个问题。
请问如何解决?
为什么不在WriteTo.RollingFile()
中配置outPutTemplate
呢?
WriteTo.RollingFile(
....
outputTemplate :"{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level} {Message} {NewLine} {Exception}]"
)
与 outPutTemplate 的配置无关,开始用的就是自己配置的 outPutTemplate ,后来换成了默认的 outPutTemplate