RollingFile
接收器从版本4.x向前滑入Serilog.Sinks.File
(据我所知)。我尝试通过appSettings配置它,但没有显示日志文件...
这是一个复制品。
Install-Package Serilog
Install-Package Serilog.Sinks.File
Install-Package Serilog.Settings.AppSettings
App.config
:<appSettings>
<add key="serilog:using:RollingFile" value="Serilog.Sinks.File" />
<add key="serilog:write-to:RollingFile" />
<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message}{NewLine}{Exception}"/>
<add key="serilog:write-to:RollingFile.pathFormat" value="log-{Date}.txt" />
</appSettings>
Main
中的Program.cs
:Log.Logger = new LoggerConfiguration().ReadFrom.AppSettings().CreateLogger();
Log.Logger.Fatal("Does it work!?");
之后:
/bin/debug
log-{date}.txt
/bin/debug
文件
如果我将XML中的RollingFile
更改为File
,pathFormat
更改为path
,则 文件会被放置在预期的位置
我做错了什么?
答案 0 :(得分:1)
Wups,您现在需要在任何地方使用write-to:File
,并在rollingInterval
接收器上指定File
。
发现这有效:
<appSettings>
<add key="serilog:using:File" value="Serilog.Sinks.File" />
<add key="serilog:write-to:File" />
<add key="serilog:write-to:File.outputTemplate" value="{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message}{NewLine}{Exception}"/>
<add key="serilog:write-to:File.path" value="log-.txt" />
<add key="serilog:write-to:File.rollingInterval" value="Hour" />
</appSettings>