Serilog - 日志文件的路径

时间:2016-12-19 14:34:44

标签: c# logging serilog

我正在尝试开始使用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并将日志文件放在此文件夹中。

有人可以帮助我并告诉我我错过了什么吗?

1 个答案:

答案 0 :(得分:3)

文档可能存在问题;该参数称为logDirectory,而不是logsDirectory。所以,你需要:

<add key="serilog:write-to:RollingFileAlternate.logDirectory" value="..\Log" />