Преобразование уровня log4net по конфигурации

У нас есть устаревшая база данных журналов, которая регистрирует два типа событий.

  1. ошибка
  2. Событие

Мы подключили log4net к приложению и используем AdoNetAppender для входа в эту унаследованную базу данных. Хранимая процедура, используемая для регистрации вхождений, принимает хранимую процедуру с одним параметром, называемым @TypeID. В настоящее время мы настроили этот параметр следующим образом:

  <parameter>
    <parameterName value="@TypeID" />
    <dbType value="Int32" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="2" />
    </layout>
  </parameter>

При этом все события регистрируются как события (тип 2), независимо от уровня события (ошибка или иное). Как я могу изменить конфигурацию, чтобы все вхождения в ОШИБКУ log4net или выше установили для параметра @TypeID значение 1?

Спросил другой способ:

Можно ли использовать условную логику в значении translationPattern?

1 ответ

Вы можете написать PatternLayoutConverter это делает это Я разместил образец, который можно легко изменить, чтобы преобразовать уровни журналов в соответствии с вашими требованиями.

Другие вопросы по тегам