2016-05-16 3 views
1

Ich versuche Serilog mit dem App-Settings-Paket zu verdrahten, und wenn ich mein Programm ausführen, beschwert sich Serlog, dass es die RollingFile-Assembly nicht finden kann. Ich hatte dieses Problem nicht mit einem einzigen Waschbecken, aber mehrere gibt es mir passt:Serilog - Konfigurieren mehrerer Senken in 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}" /> 

Antwort

1

fand es heraus. Ich musste die rollende Datei mithilfe der Anweisung entfernen.

2

Sie haben Präfix in web.config zu verwenden und in der Konfiguration wie dieser

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()