Search code examples
c#elasticsearchserilog

Simple Serilog + ElasticSearch


This program doesn't post anything to ElasticSearch as seen from Kibana. Am I missing something?

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);
        }
    }
}

Solution

  • I got it to work thus.

           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());