Логи не записываются в ElasticSearch с Serilog от Xamarin. iOS Приложения - PullRequest
0 голосов
/ 19 февраля 2020

Ниже приведена моя реализация для журналов в Xamarin. iOS с использованием Serilog сasticsearch

Используется Nuget Package : Serilog.Sinks.Elasticsearch - v8.0.1

i)    Log.Logger = new LoggerConfiguration().WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(elasticUrl))
         {
             AutoRegisterTemplate = true,
             AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6,
             ModifyConnectionSettings = a => a.ConnectionLimit(-1)                 

         }).WriteTo.Debug().CreateLogger();


ii)  Log.Logger = new LoggerConfiguration()
            .MinimumLevel.Information()
            .Enrich.WithProperty("RequestId", Guid.NewGuid())
            .Enrich.FromLogContext().WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(elasticsearch))
            {
             AutoRegisterTemplate = true,
             AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv7,
             NumberOfShards = 1,
             IndexFormat = "tru-dev-{0:yyyy.MM.dd}",
             ModifyConnectionSettings = a => a.BasicAuthentication("user", "*************")
            }).WriteTo.Debug().CreateLogger();

Записать некоторые сообщения, используя Serilog:

Log.Information("Testing Serilog from Xamarin iOS.");

Я могу видеть журналы в выходных данных приложения, когда оно не получает сообщение на сервере, пробовал оба (i и ii) Кстати, стоит публиковать логи на сервере, но это не так.

...