Проблема интеграции Nlog с ElasticSearch в .NET Core - PullRequest
0 голосов
/ 12 июня 2019

Я использую NLog для записи логов в файл, который работает нормально. Теперь я хочу писать логи в ElasticSearch. Итак, я добавил NLog.Targets.ElasticSearch в пакет nugets и настроил свой файл Nlog.config, к сожалению, я не вижу никакой информации журнала при вызове http://localhost:9200/_search

В файле NLog.config я добавил расширение и цели дляasticsearch:

   <extensions>
    <add assembly="NLog.Extended" />
    <add assembly="NLog.Targets.ElasticSearch"/>
   </extensions>

<targets>
  <target xsi:type="ElasticSearch" 
        name="elastic" 
        layout="${logger} | ${threadid} | ${message}" 
        includeAllProperties="true" 
        uri="http://localhost:9200"/>
 </targets>

<rules>
    <logger name="*" minlevel="Trace" writeTo="file" />
    <logger name="*" minlevel="Trace" writeTo="elastic" />
</rules>

Я ожидаю, что тип трассировки Nlog должен быть записан в ElasticSearch. Я что-то упустил в конфигурационном файле?

Кстати, я посмотрел этот документ. для параметров: https://github.com/ReactiveMarkets/NLog.Targets.ElasticSearch/wiki

1 Ответ

2 голосов
/ 21 июня 2019

Я только добавил BufferingWrapper type, и это сработало.Некоторые ссылки для чтения: https://github.com/markmcdowell/NLog.Targets.ElasticSearch/blob/master/src/NLog.Targets.ElasticSearch.Tests/App.config

https://github.com/nlog/NLog/wiki/BufferingWrapper-target

Дополнительно, пожалуйста, проверьте последнюю версию ElasticSearch.Net в пакете Nuget.

Ниже вы можете найтиКонфигурация NLog для ElasticSearch, которая работает нормально для меня:

<extensions>
    <add assembly="NLog.Extended" />
    <add assembly="NLog.Targets.ElasticSearch"/>
</extensions>

<target xsi:type="BufferingWrapper" name="ElasticSearch"
        flushTimeout="5000">
   <target xsi:type="ElasticSearch"          
          uri="http://localhost:9200" 
          includeAllProperties ="true">
   </target>
 </target>

<rules>
    <logger name="*" minlevel="Trace" writeTo="file" />
    <logger name="*" minlevel="Trace" writeTo="ElasticSearch" />
</rules>
...