public static SherlockDemoClientOptions LoadFrom(IConfiguration config)
        {
            var opts = new SherlockDemoClientOptions();

            config.GetSection("SherlockClientSettings").Bind(opts);
            return(opts);
        }
Ejemplo n.º 2
0
        private static void ConfigureLogging()
        {
            var serilogConfig = new LoggerConfiguration()
                                .ReadFrom.Configuration(_config);

            var sherlockOptions = SherlockDemoClientOptions.LoadFrom(_config);

            if (sherlockOptions.Enabled)
            {
                SherlockSettings.Enable();

                _sherlockClient = new SherlockClient(sherlockOptions);
                serilogConfig   = serilogConfig.WriteTo.SherlockSink(_sherlockClient, sherlockOptions.FlushIntervalSeconds);

                ActorMessages.Start(_sherlockClient);
            }

            Log.Logger = serilogConfig.CreateLogger();
            Proto.Log.SetLoggerFactory(new LoggerFactory().AddSerilog());
        }