public static void ConfigureLogging() { var date = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); var logFile = Path.Combine("logs", $"log-itinero-{date}.txt"); Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", Serilog.Events.LogEventLevel.Verbose) .Enrich.FromLogContext() .WriteTo.File(new JsonFormatter(), logFile) .WriteTo.Console() .CreateLogger(); Log.Information($"Logging has started. Logfile can be found at {logFile}"); Logger.LogAction = (o, level, message, parameters) => { if (string.Equals(level, TraceEventType.Error.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Error($"{message}"); } else if (string.Equals(level, TraceEventType.Warning.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Warning($"{message}"); } else if (string.Equals(level, TraceEventType.Information.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Information($"{message}"); } else if (string.Equals(level, TraceEventType.Verbose.ToString(), StringComparison.CurrentCultureIgnoreCase)) { Log.Verbose($"{message}"); } else { Log.Information($"{level} (unknown log level): {message}"); } }; }
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()); }