我正在尝试使用AutoFac
将Serilog与Raygun接收器一起使用我使用https://groups.google.com/forum/#!topic/serilog/R23B8CLso9Q
成功配置了使用AutoFact的Serilog如果我想将 trace / debug / info 仅记录到日志滚动文件而将警告/错误/致命记录到滚动文件和raygun
如何配置日志?
这是我的实际情况:
public static ILogger CreateLogger()
{
var config = new LoggerConfiguration()
.ReadAppSettings();
InitialiseGlobalContext(config);
return config.CreateLogger();
}
使用此web.config条目:
<add key="serilog:minimum-level" value="Verbose" />
<add key="serilog:write-to:RollingFile.path" value="D:\WebRole\Logs\file-{Date}.txt" />
<add key="serilog:write-to:RollingFile.fileSizeLimitBytes" value="1024" />
<add key="serilog:write-to:RollingFile.retainedFileCountLimit" value="10" />
<add key="serilog:write-to:RollingFile.outputTemplate" value="{Timestamp} [{Level}] [{MachineName},{ApplicationName},{RuntimeVersion}] {Message}{NewLine}{Exception}" />
由于conf是全局的,如果我添加.WriteTo.Raygun(),它会将 trace / debug / info 记录到raygun我不希望这样。
任何想法
答案 0 :(得分:0)
您应该能够通过Raygun接收器添加额外的配置条目以限制事件:
<add key="serilog:write-to:Raygun.restrictedToMinimumLevel" value="Warning" />
您还需要确保Raygun程序集位于项目的构建输出目录中,并使用&#34;使用&#34;条目如:
<add key="serilog:using" value="Serilog.Sinks.Raygun" />
答案 1 :(得分:0)
对于任何人(像我一样),答案就是@NicholasBlumhardt 所描述的。然而,我也犯了一个错误,即在使用后没有立即使用 applicationKey
<add key="serilog:using:Raygun" value="Serilog.Sinks.Raygun" />
<add key="serilog:write-to:Raygun.applicationKey" value="MYRAYGUNAPPLICATIONKEY" />
<add key="serilog:write-to:Raygun.restrictedToMinimumLevel" value="Information" />