Ниже приведена моя реализация для журналов в 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) Кстати, стоит публиковать логи на сервере, но это не так.