From 3d0bd151dad89c7d86c6843ce613ead589e31a21 Mon Sep 17 00:00:00 2001 From: Shreyas Zare Date: Sun, 23 Dec 2018 19:19:32 +0530 Subject: [PATCH] DnsWebService: added logging for unhandled exception using AppDomain.CurrentDomain.UnhandledException. Made change to load StatsManager in Start(). --- DnsServerCore/DnsWebService.cs | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/DnsServerCore/DnsWebService.cs b/DnsServerCore/DnsWebService.cs index ec76b1aa..b2fb1ee7 100644 --- a/DnsServerCore/DnsWebService.cs +++ b/DnsServerCore/DnsWebService.cs @@ -61,7 +61,7 @@ namespace DnsServerCore readonly Uri _updateCheckUri; readonly LogManager _log; - readonly StatsManager _stats; + StatsManager _stats; string _serverDomain; int _webServicePort; @@ -118,12 +118,10 @@ namespace DnsServerCore _log = new LogManager(logFolder); - string statsFolder = Path.Combine(_configFolder, "stats"); - - if (!Directory.Exists(statsFolder)) - Directory.CreateDirectory(statsFolder); - - _stats = new StatsManager(statsFolder, _log); + AppDomain.CurrentDomain.UnhandledException += delegate (object sender, UnhandledExceptionEventArgs e) + { + _log.Write((Exception)e.ExceptionObject); + }; } #endregion @@ -3398,6 +3396,16 @@ namespace DnsServerCore try { + if (_stats == null) + { + string statsFolder = Path.Combine(_configFolder, "stats"); + + if (!Directory.Exists(statsFolder)) + Directory.CreateDirectory(statsFolder); + + _stats = new StatsManager(statsFolder, _log); + } + _dnsServer = new DnsServer(); _dnsServer.RecursiveResolveProtocol = RECURSIVE_RESOLVE_PROTOCOL; _dnsServer.LogManager = _log;