Serilog - 日志文件的路径

Serilog - path to log file

我正在尝试开始使用 serilog。普通的 RollingFile 不符合我的需要(我需要像 logs160701-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")

将使用文件夹名称并将日志文件放在该文件夹中。

有人可以帮助我并告诉我我缺少什么吗?

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

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