我正在尝试开始使用serilog。普通的RollingFile并不适合我的需求(我需要像logs \ 20160701-00002.txt一样计算),所以我想将RollingFileAlternate用作接收器。
使用RollingFile时我添加了
loggerInstance = new LoggerConfiguration()
.ReadFrom.AppSettings()
并且能够使用以下命令从App.config文件获取路径:
<add key="serilog:minimum-level" value="Debug" />
<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" />
<add key="serilog:write-to:RollingFile.pathFormat" value="..\Log\MyLOG.LOG" />
现在我切换到RollingFileAlternate:
<add key="serilog:minimum-level" value="Debug" />
<add key="serilog:using:RollingFileAlternate" value="Serilog.Sinks.RollingFileAlternate" />
<add key="serilog:write-to:RollingFileAlternate.logsDirectory" value="..\Log\test.log" />
<add key="serilog:write-to:RollingFileALternate.logsFolder" value="..\Log" />
我尝试使用logsDirectory和logsFolder,因为https://github.com/BedeGaming/sinks-rollingfile的示例中都描述了这两者 但我的程序不会创建文件。
如果我添加到Logger配置:
loggerInstance = new LoggerConfiguration()
.ReadFrom.AppSettings()
.WriteTo.RollingFileAlternate("..\\log")
将使用foldername并将日志文件放在此文件夹中。
有人可以帮助我并告诉我我错过了什么吗?
答案 0 :(得分:3)
文档可能存在问题;该参数称为logDirectory
,而不是logsDirectory
。所以,你需要:
<add key="serilog:write-to:RollingFileAlternate.logDirectory" value="..\Log" />