2016-12-19 8 views
2

Я пытаюсь начать работу с serilog. Обычный RollingFile не соответствует моим потребностям (мне нужен счет, например logs \ 20160701-00002.txt), поэтому я хочу использовать RollingFileAlternate как приемник.Serilog - путь к файлу журнала

При использовании 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 , но моя программа не создаст файл.

, если добавить к Loggerconfiguration:

 loggerInstance = new LoggerConfiguration() 
      .ReadFrom.AppSettings() 
      .WriteTo.RollingFileAlternate("..\\log") 

имя_папка будет использоваться и лога помещаются в этой папке.

Может кто-нибудь помочь мне и рассказать мне, что мне не хватает?

ответ

2

Возможно, возникла проблема с документацией; аргумент называется logDirectory, а не logsDirectory. Итак, вам необходимо:

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

Спасибо! Мне нужно было использовать «logDirectory». Теперь он работает. –