Serilog,即使无法打开/创建日志文件也没有错误

时间:2019-02-05 02:25:40

标签: c# winforms log4net serilog

我正在研究Serilog作为log4net的替代方法(我有一个问题,其中log4net停止日志记录,没有明确的方法来恢复日志记录)。这是c#,主要是WinForms。

首先,这是app.config设置:

<add key="serilog:write-to:RollingFile.pathFormat" value="q:\SomeApp-%COMPUTERNAME%-log-{Date}.txt" />
<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}] {Message}{NewLine}{Exception}" />
<add key="serilog:write-to:File.rollOnFileSizeLimit" value="true" />
<add key="serilog:write-to:File.fileSizeLimitBytes" value="10485760" />
<add key="serilog:write-to:File.retainedFileCountLimit" value="10" />
<add key="serilog:minimum-level" value="Information" />

在C#应用中,我这样创建记录器:

Log.Logger = new LoggerConfiguration()
                .ReadFrom.AppSettings()
                .CreateLogger();

问题:即使我在上面的“ serilog:write-to:RollingFile.pathFormat”中指定了无效路径,CreateLogger也没有给出问题的迹象,但是当然没有任何记录。

日志记录至关重要,因此,如果日志记录不起作用,我需要了解一下。我怎么知道?

1 个答案:

答案 0 :(得分:0)

Serilog与大多数典型的记录器一样,默认情况下不会阻止应用进度。有.Audit.To的配置机制可以做到这一点,但是它不可能为您提供答案。

通常,将Serilog's SelfLog连接到故障安全接收器是如何最好地管理日志记录系统中的highlightint故障。

此外:似乎您也正在混合使用RollingFile和File config-File取代了前者,因此建议仅将其用于新系统。