Nlog дважды генерирует свойства LogEventInfo

171
23 октября 2021, 06:10

Всем привет!

Делаю логирование на NLog 4.9. в приложении ASP.NET Core. Имеется следующий таргет конфигурации:

    <target xsi:type="File" name="jsonFile" fileName="${basedir}\${shortdate}.json">
      <layout xsi:type="JsonLayout" includeAllProperties="true">
        <attribute name="time" layout="${longdate}"/>
        <attribute name="level" layout="${level:upperCase=true}"/>
        <attribute name="eventProperties" encode="false" >
          <layout type='JsonLayout' includeAllProperties="true"  maxRecursionLimit="20"/>
        </attribute>
      </layout>
    </target>
  • Я убрал некоторые свойства, чтобы не занимали много места.

Вызываю логгер слеюдущим образом:

            var eventInfo = new LogEventInfo
            {
                Properties = { { "var", "value" } }
            };
            _logger.Info(eventInfo);

Соответственно time и level отрабатывают как и требуется. А вот eventIinfo записыватся не совсем так как нужно.

{
  "time": "2019-11-05 22:04:19.0990",
  "level": "INFO",
  "eventProperties": 
  {
     "var": "value"
  },
  "var": "value"
}

Это общий пример и на нем не очень хорошо видно в чем именно проблема. А вот реальный пример:

Проблема в повторном переписывании всех полей, которые я передаю через LogEventInfo. У меня вопрос, почему NLog так записывает, это проблема в конфигурации логгера или это такая фича и нечего с этим не поделать.

Мне нужно, чтобы записи остались только "eventProperties"

Заранее спасибо!

READ ALSO
Как сделать полноэкранный режим чтобы отображался taskbar

Как сделать полноэкранный режим чтобы отображался taskbar

Я знаю как сделать полноэкранный режим,но прячет taskbar,как это пофиксить

177
Экранирование обратного слеша в строке JS

Экранирование обратного слеша в строке JS

Как можно разом экранировать все обратные слеши в строке?

121
Как вернуть большую структуру будет дешевле?

Как вернуть большую структуру будет дешевле?

Допустим, некий код извлекает из указателя структуруСтруктура имеет размер больше чем указатель/ссылка, будет ли дешевле обернуть эту структуру...

158
Entity FrameWork и наследование

Entity FrameWork и наследование

Прошу разрешить диллему, суть которой такова: Есть БД с сущностями представляющими факультет (студент, преподаватель, оценки, кафедры, и тд

269