2016-05-16 8 views
1

Я пытаюсь подключить Serilog, используя пакет настроек приложения, и когда я запускаю свою программу, Serlog жалуется, что не может найти сборку RollingFile. У меня не было этой проблемы с использованием единственной раковины, но несколько она дала мне припадки:Serilog - Настройка нескольких стоков в AppSettings

<!-- Serilog Configuration --> 
<add key="serilog:using:Email" value="Serilog.Sinks.Email" /> 
<add key="serilog:using:RollingFile" value="Serilog.Sinks.RollingFile" /> 

<!-- Configure Serilog Email Sink --> 
<add key="serilog:write-to:Email"/> 
<add key="serilog:write-to:Email.mailServer" value="***" /> 
<add key="serilog:write-to:Email.toEmail" value="***" /> 
<add key="serilog:write-to:Email.fromEmail" value="***" /> 
<add key="serilog:write-to:Email.mailSubject" value="Notification" /> 
<add key="serilog:write-to:Email.restrictedToMinimumLevel" value="Debug" /> 

<!-- Configure Serilog RollingFile Sink --> 
<add key="serilog:write-to:RollingFile" /> 
<add key="serilog:write-to:RollingFile.restrictedToMinimumLevel" value="Debug" /> 
<add key="serilog:write-to:RollingFile.pathFormat" value="C:\Logs\comply360-user-mgmt-{Date}.txt" /> 
<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] [{CorrelationId}] {Message}{NewLine}{Exception}" /> 

ответ

1

вычислил это. Мне пришлось удалить скользящий файл с помощью оператора.

2

Вы должны использовать префикс в web.config и в конфигурации, как этот

Web.Config

<!-- Serilog Configuration --> 
<add key="email:serilog:using:Email" value="Serilog.Sinks.Email" /> 
<add key="file:serilog:using:RollingFile" value="Serilog.Sinks.RollingFile"  /> 

<!-- Configure Serilog Email Sink --> 
<add key="email:serilog:write-to:Email"/> 
<add key="email:serilog:write-to:Email.mailServer" value="***" /> 
<add key="email:serilog:write-to:Email.toEmail" value="***" /> 
<add key="email:serilog:write-to:Email.fromEmail" value="***" /> 
<add key="email:serilog:write-to:Email.mailSubject" value="Notification" /> 
<add key="email:serilog:write-to:Email.restrictedToMinimumLevel" value="Debug" /> 

<!-- Configure Serilog RollingFile Sink --> 
<add key="file:serilog:write-to:RollingFile" /> 
<add key="file:serilog:write-to:RollingFile.restrictedToMinimumLevel" value="Debug" /> 
<add key="file:serilog:write-to:RollingFile.pathFormat" value="C:\Logs\comply360-user-mgmt-{Date}.txt" /> 
<add key="file:serilog:write-to:RollingFile.outputTemplate" value="{Timestamp:HH:mm:ss} [{Level}] [{SourceContext}] [{CorrelationId}] {Message}{NewLine}{Exception}" /> 

Startup.cs

Log.Logger = new LoggerConfiguration() 
      .ReadFrom 
      .AppSettings("email") 
      .ReadFrom 
      .AppSettings("file") 
      .CreateLogger()