From a4b6f697869d4b5ebcaf0364742fb7a77b97fd5b Mon Sep 17 00:00:00 2001 From: Simon G Date: Sun, 9 Feb 2020 22:33:44 +0100 Subject: [PATCH] - add try-catch and init logging --- GBase.Server/Program.cs | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/GBase.Server/Program.cs b/GBase.Server/Program.cs index 8ad987b..d695cf8 100644 --- a/GBase.Server/Program.cs +++ b/GBase.Server/Program.cs @@ -2,7 +2,10 @@ // Created: 2020-02-07 // Copyright(c) 2020 SimonG. All Rights Reserved. +using System; using System.Threading.Tasks; +using GBase.Logging; +using GBase.Logging.Interfaces; using GBase.Server.Interfaces; using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; @@ -11,13 +14,30 @@ namespace GBase.Server { class Program { - static async Task Main(string[] args) //TODO: Add try-catch, initialize logging + static async Task Main(string[] args) { - IGBaseServerSettings serverSettings = new GBaseServerSettings(); - await serverSettings.ParseArguments(args); + try + { + ILog log = new Log(); + log.InitializeLog(); + log.AddLogger(new ConsoleLogger()); - IWebHost host = CreateWebHostBuilder(serverSettings).Build(); - await host.RunAsync(); + IGBaseServerSettings serverSettings = new GBaseServerSettings(); + await serverSettings.ParseArguments(args); + + log.AddLogger(new FileLogger(serverSettings.LogFilePath, serverSettings.LogFileName)); + + IWebHost host = CreateWebHostBuilder(serverSettings).Build(); + await host.RunAsync(); + + host.Dispose(); //TestMe: Check if this destroys the server while it is running + await log.DisposeAsync(); + } + catch (Exception ex) //TODO: decide what to do in this case + { + Console.WriteLine(ex); + throw; + } } private static IWebHostBuilder CreateWebHostBuilder(IGBaseServerSettings serverSettings) =>