Как добавить Rollbar Appender в log4net - PullRequest
1 голос
/ 10 мая 2019

У меня есть .net core web api, который регистрирует ошибки, используя log4net.У меня есть как консольный, так и файловый приложения, и теперь я хочу интегрировать журналирование с помощью Rollbar.

В Rollbar есть специальный пользовательский пакет в пакете плагинов для log4net, поэтому я попытался добавить приложение в свой конфигурационный файл для log4net, но яЯ не вижу никаких журналов на Rollbar.Я могу напрямую вызывать регистратор Rollbars и видеть журналы в интерфейсе Rollbar.

Я добавил токен проекта в Rollbar:

RollbarLocator.RollbarInstance.Configure(
                new RollbarConfig("MY_PROJECT_TOKEN"));

И это прекрасно работаетотправлять журналы на Rollbar: RollbarLocator.RollbarInstance.Logger.Error("direct logging with rollbar");

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

<appender name="RollbarAppender" type="Rollbar.PlugIns.Log4net.RollbarAppender, Rollbar.Plugins.Log4net">
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
</appender>

<root>
    <level value="INFO" />
    <appender-ref ref="ConsoleAppender" />
    <appender-ref ref="RollingFileAppender" />
    <appender-ref ref="RollbarAppender" />
  </root>

  <logger name="Microsoft.AspNetCore" additivity="false">
    <level value="ERROR" />
    <appender-ref ref="ConsoleAppender" />
    <appender-ref ref="RollingFileAppender" />
    <appender-ref ref="RollbarAppender" />
  </logger>

  <logger name="Microsoft.AspNetCore.Hosting.Internal.WebHost" additivity="false">
    <level value="INFO" />
    <appender-ref ref="ConsoleAppender" />
    <appender-ref ref="RollbarAppender" />
  </logger>

У меня естьтакже попытался добавить программным способом:

var appender = new Rollbar.PlugIns.Log4net.RollbarAppender(
                new RollbarConfig("MY_PROJECT_TOKEN"), 
                TimeSpan.MaxValue);

((log4net.Repository.Hierarchy.Logger) Log.Logger).AddAppender(appender);

Я не получаю никаких ошибок при запуске, поэтому appender, кажется, загружается просто отлично, но я все еще не вижу ничего зарегистрированного в Rollbar, когда я регистрируюсь, используя log4net.

...