Beispiel #1
0
        static void Main(string[] args)
        {
            var clusterConfiguration = new EphemeralClusterConfiguration("7.9.0");

            using var cluster = new EphemeralCluster(clusterConfiguration);

            cluster.Start(TimeSpan.FromMinutes(2));
            var uri = cluster.NodesUris().First();


            var nestIndex = "logs-from-nest";

            Announce("NEST + Elastic.CommonSchema", nestIndex);
            var settings = new ConnectionSettings(uri).EnableDebugMode();
            var client   = new ElasticClient(settings);


            var bulkAll = client.BulkAll(GetEcsEvents(10_000), b => b
                                         .Index(nestIndex)
                                         .Size(1_000)
                                         .RefreshOnCompleted()
                                         .BufferToBulk((bulk, items) => bulk.CreateMany(items))
                                         );

            bulkAll.Wait(TimeSpan.FromMinutes(2), r => Console.WriteLine("Indexed 1000 events"));

            Check(client, nestIndex);


            // Using Serilog ElasticsearchSink
            var sinkIndex = "logs-from-sink";

            Announce("Elastic.CommonSchema.Serilog", sinkIndex);
            var options = new ElasticsearchSinkOptions(uri)
            {
                CustomFormatter            = new EcsTextFormatter(),
                IndexFormat                = sinkIndex + "-{0:yyyy-MM-dd}",
                DetectElasticsearchVersion = true,
                BatchAction                = ElasticOpType.Create,
                BatchPostingLimit          = 1_000,
            };
            var logger = new LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .WriteTo.Elasticsearch(options)
                         .CreateLogger();

            Log.Logger = logger;

            foreach (var e in GetEcsEvents(10_000))
            {
                Log.Debug("Reusing {field1} by {another_field}: {message}", "some value", true, e.Message);
            }

            Log.CloseAndFlush();

            Check(client, $"{sinkIndex}-*");
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            Log.Logger = new LoggerConfiguration()
                         .MinimumLevel.Debug()
                         .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
                         .Enrich.FromLogContext()
                         .WriteTo.Console()
                         .CreateLogger();


#if DEBUG
            var loggingBlacklist = new HashSet <string>();
#else
            var loggingBlacklist = new HashSet <string>();
#endif
            Logging.Logger.LogAction = (o, level, message, parameters) =>
            {
                if (loggingBlacklist.Contains(o))
                {
                    return;
                }

                if (!string.IsNullOrEmpty(o))
                {
                    message = $"[{o}] {message}";
                }

                if (level == Logging.TraceEventType.Verbose.ToString().ToLower())
                {
                    Log.Debug(message);
                }
                else if (level == Logging.TraceEventType.Information.ToString().ToLower())
                {
                    Log.Information(message);
                }
                else if (level == Logging.TraceEventType.Warning.ToString().ToLower())
                {
                    Log.Warning(message);
                }
                else if (level == Logging.TraceEventType.Critical.ToString().ToLower())
                {
                    Log.Fatal(message);
                }
                else if (level == Logging.TraceEventType.Error.ToString().ToLower())
                {
                    Log.Error(message);
                }
                else
                {
                    Log.Debug(message);
                }
            };

            // load data.
            var routerDb = BuildRouterDb.BuildOrLoad();

            // load transit db.
            var transitDb = BuildTransitDb.BuildOrLoad();

            var router = new Router(routerDb)
            {
                VerifyAllStoppable = true,
                CustomRouteBuilder = new Temp.Temp()
            };

            var antwerpen1        = new Coordinate(51.21880619138497f, 4.397792816162109f);
            var antwerpen2        = new Coordinate(51.21888683113129f, 4.432253837585449f);
            var brusselHermanTeir = new Coordinate(50.865696744357294f, 4.3497008085250854f);
            var brusselCentraal   = new Coordinate(50.83144119255431f, 4.339964389801025f);
            var lille             = new Coordinate(51.25979327802935f, 4.875869750976562f);
            var turnhout          = new Coordinate(51.3202332109125f, 4.9339234828948975f);
            var tourEnTaxis       = new Coordinate(50.86439661723841f, 4.348719120025635f);
            var marcheEnFamenne   = new Coordinate(50.23142236000259f, 5.333776473999023f);
            var ieper             = new Coordinate(50.85532180383167f, 2.860565185546875f);
//
//            var route = router.Calculate(router.Db.GetSupportedProfile("pedestrian.shortcut"),
//                antwerpen1, antwerpen2);
//            File.WriteAllText("route-antwerpen.json", route.ToGeoJson());
//
//            route = router.Calculate(router.Db.GetSupportedProfile("pedestrian.shortcut"),
//                brusselHermanTeir, brusselCentraal);
//            File.WriteAllText("route-brussel.json", route.ToGeoJson());
//

            var sourceLocation = antwerpen2;
            var targetLocation = brusselHermanTeir;

            var routeResult = router.TryCalculateIntermodal(transitDb, router.Db.GetSupportedProfile("pedestrian"),
                                                            sourceLocation, targetLocation);
            File.WriteAllText("intermodal-route1.json", routeResult.Value.ToGeoJson());

            routeResult = router.TryCalculateIntermodal(transitDb, router.Db.GetSupportedProfile("pedestrian"),
                                                        antwerpen2, lille);
            File.WriteAllText("intermodal-route2.json", routeResult.Value.ToGeoJson());

            routeResult = router.TryCalculateIntermodal(transitDb, router.Db.GetSupportedProfile("pedestrian"),
                                                        turnhout, lille);
            File.WriteAllText("intermodal-route3.json", routeResult.Value.ToGeoJson());

            routeResult = router.TryCalculateIntermodal(transitDb, router.Db.GetSupportedProfile("pedestrian"),
                                                        turnhout, marcheEnFamenne);
            File.WriteAllText("intermodal-route4.json", routeResult.Value.ToGeoJson());

            routeResult = router.TryCalculateIntermodal(transitDb, router.Db.GetSupportedProfile("pedestrian"),
                                                        turnhout, ieper);
            File.WriteAllText("intermodal-route5.json", routeResult.Value.ToGeoJson());
        }