Как использовать Serilog с Raygun и Autofac, различая логи и ошибки

Я пытаюсь использовать Serilog с раковиной Raygun с использованием AutoFac

Я успешно настроил Serilog с помощью AutoFact, используя https://groups.google.com/forum/

Если я хочу записать трассировку / отладку / информацию в ТОЛЬКО файл журнала и предупреждение / ошибка / неустранимый в подвижный файл и 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(), он будет записывать трассировку / отладку / информацию в raygun, я этого не хочу.

Есть идеи

2 ответа

Вы должны иметь возможность добавить дополнительную запись конфигурации, чтобы ограничить события через приемник Raygun:

<add key="serilog:write-to:Raygun.restrictedToMinimumLevel" value="Warning" />

Вам также необходимо убедиться, что сборка Raygun находится в выходном каталоге сборки проекта, и на нее ссылается запись "using", например:

<add key="serilog:using" value="Serilog.Sinks.Raygun" />

Для всех, кто приходит к этому (например, я), ответ таков, как описал @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" />
Другие вопросы по тегам