Простой Serilog + ElasticSearch - PullRequest
0 голосов
/ 26 мая 2019

Эта программа ничего не публикует на ElasticSearch, как видно из Kibana. Я что-то упустил?

using System;

using Serilog;
using Serilog.Sinks.Elasticsearch;


namespace DemoService
{
    class Program
    {       
        static void Main(string[] args)
        {         
            var loggerConfig = new LoggerConfiguration()
            .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri("http://ipaddress:9200"))
            {
                AutoRegisterTemplate = true,
                AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6
            });


            Log.Information("The time is {Now}", DateTime.Now);
        }
    }
}

1 Ответ

0 голосов
/ 26 мая 2019

Я заставил это работать таким образом.

       var log = new LoggerConfiguration()
        .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri("http://ipaddress"))
        {                
            AutoRegisterTemplate = true,
            //AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6,
            FailureCallback = e => Console.WriteLine("Unable to submit event " + e.MessageTemplate),
            EmitEventFailure = EmitEventFailureHandling.WriteToSelfLog |
                                   EmitEventFailureHandling.WriteToFailureSink |
                                   EmitEventFailureHandling.RaiseCallback,
            FailureSink = new FileSink("./failures.txt", new JsonFormatter(),
            null)
        }
        ).CreateLogger();

        log.Information(new ApplicationException("This is working!").ToString());
...