Serilog - AppSettings MinLevel不工作

时间:2016-05-20 20:38:50

标签: serilog

我正在尝试连接我的接收器,似乎对于我的滚动文件接收器,我的调试消息未被记录(仅限信息及以上)。我的配置错了吗?

<!-- Serilog Configuration -->
<add key="serilog:using:Email" value="Serilog.Sinks.Email" />

<!-- Configure Serilog Email Sink -->
<add key="serilog:write-to:Email" />
<add key="serilog:write-to:Email.mailServer" value="***" />
<add key="serilog:write-to:Email.toEmail" value="***" />
<add key="serilog:write-to:Email.fromEmail" value="***" />
<add key="serilog:write-to:Email.mailSubject" value="Comply360 Portal Endpoint (DEV)" />
<add key="serilog:write-to:Email.restrictedToMinimumLevel" value="Warning" />
<add key="serilog:write-to:Email.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] [{CorrelationId}] {Message}{NewLine}{Exception}" />

<!-- Configure Serilog RollingFile Sink -->
<add key="serilog:write-to:RollingFile" />
<add key="serilog:write-to:RollingFile.restrictedToMinimumLevel" value="Debug" />
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\comply360-portal-{Date}.txt" />
<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] [{CorrelationId}] {Message}{NewLine}{Exception}" />

1 个答案:

答案 0 :(得分:2)

没有什么&#34;错误&#34;使用RollingFile接收器配置本身 - 它只会记录日志级别为Debug或更高的消息(即它不会记录Verbose消息)。

但是,Serilog的最低日志级别一般为Information,因此它甚至不会发送到您的接收器。

在您的情况下,您需要将Serilog的默认最低级别更改为至少Debug

<add key="serilog:minimum-level" value="Debug" />

您的最终配置应如下所示:

<add key="serilog:minimum-level" value="Debug" />
<add key="serilog:write-to:RollingFile" />
<add key="serilog:write-to:RollingFile.restrictedToMinimumLevel" value="Debug" />
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\log-portal-{Date}.txt" />
<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] [{CorrelationId}] {Message}{NewLine}{Exception}" />

当然,如果您以后决定添加记录Verbose及以上邮件的任何接收器,您也需要将最低级别更改为Verbose

即。 serilog:minimum-level应该始终是所有接收器中的最低级别。