2016-05-16 188 views
1

我正在尝试使用应用程序设置程序包对serilog进行接线,当我运行我的程序时,Serlog抱怨它无法找到RollingFile组件。我没有使用单个接收器的问题,但多个它给我适合:Serilog - 在应用程序设置中配置多个接收器

<!-- 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() 
相关问题