我正在研究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也没有给出问题的迹象,但是当然没有任何记录。
日志记录至关重要,因此,如果日志记录不起作用,我需要了解一下。我怎么知道?
答案 0 :(得分:0)
Serilog与大多数典型的记录器一样,默认情况下不会阻止应用进度。有.Audit.To
的配置机制可以做到这一点,但是它不可能为您提供答案。
通常,将Serilog's SelfLog
连接到故障安全接收器是如何最好地管理日志记录系统中的highlightint故障。
此外:似乎您也正在混合使用RollingFile和File config-File
取代了前者,因此建议仅将其用于新系统。