diff options
author | Wouter Tinus <win.acme.simple@gmail.com> | 2019-11-11 21:15:13 +0100 |
---|---|---|
committer | Wouter Tinus <win.acme.simple@gmail.com> | 2019-11-11 21:15:13 +0100 |
commit | 0038ff3fe312d1e05f44a75da96dc839b9bf69a2 (patch) | |
tree | dd7b926bd1a2952d4ea7fbeb37001758d5624ab6 /src/main.lib/Services/LogService.cs | |
parent | 9d38914f527adeb108897bfb3a514801c1920268 (diff) | |
download | letsencrypt-win-simple-0038ff3fe312d1e05f44a75da96dc839b9bf69a2.zip letsencrypt-win-simple-0038ff3fe312d1e05f44a75da96dc839b9bf69a2.tar.gz letsencrypt-win-simple-0038ff3fe312d1e05f44a75da96dc839b9bf69a2.tar.bz2 |
improved error handling in the log service to prevent non-admins from running into problems
Diffstat (limited to 'src/main.lib/Services/LogService.cs')
-rw-r--r-- | src/main.lib/Services/LogService.cs | 38 |
1 files changed, 26 insertions, 12 deletions
diff --git a/src/main.lib/Services/LogService.cs b/src/main.lib/Services/LogService.cs index 4691cb0..c6eb929 100644 --- a/src/main.lib/Services/LogService.cs +++ b/src/main.lib/Services/LogService.cs @@ -40,7 +40,18 @@ namespace PKISharp.WACS.Services .WriteTo.Console(outputTemplate: " [{Level:u4}] {Message:l}{NewLine}{Exception}", theme: SystemConsoleTheme.Literate) .ReadFrom.Configuration(ConfigurationRoot, "screen") .CreateLogger(); + } + catch (Exception ex) + { + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine($" Error creating screen logger: {ex.Message} - {ex.StackTrace}"); + Console.ResetColor(); + Console.WriteLine(); + Environment.Exit(ex.HResult); + } + try + { _eventLogger = new LoggerConfiguration() .MinimumLevel.ControlledBy(_levelSwitch) .Enrich.FromLogContext() @@ -50,23 +61,26 @@ namespace PKISharp.WACS.Services } catch (Exception ex) { - Console.ForegroundColor = ConsoleColor.Red; - Console.WriteLine($" Error while creating logger: {ex.Message} - {ex.StackTrace}"); - Console.ResetColor(); - Console.WriteLine(); - Environment.Exit(ex.HResult); + Warning("Error creating event logger: {ex}", ex.Message); } Log.Debug("The global logger has been configured"); } public void SetDiskLoggingPath(string path) { - _diskLogger = new LoggerConfiguration() - .MinimumLevel.ControlledBy(_levelSwitch) - .Enrich.FromLogContext() - .WriteTo.File(path.TrimEnd('\\', '/') + "\\log-.txt", rollingInterval: RollingInterval.Day) - .ReadFrom.Configuration(ConfigurationRoot, "disk") - .CreateLogger(); + try + { + _diskLogger = new LoggerConfiguration() + .MinimumLevel.ControlledBy(_levelSwitch) + .Enrich.FromLogContext() + .WriteTo.File(path.TrimEnd('\\', '/') + "\\log-.txt", rollingInterval: RollingInterval.Day) + .ReadFrom.Configuration(ConfigurationRoot, "disk") + .CreateLogger(); + } + catch (Exception ex) + { + Warning("Error creating disk logger: {ex}", ex.Message); + } } public void SetVerbose() @@ -109,7 +123,7 @@ namespace PKISharp.WACS.Services { _screenLogger.Write(level, ex, message, items); } - if (type.HasFlag(LogType.Event)) + if (_eventLogger != null && type.HasFlag(LogType.Event)) { _eventLogger.Write(level, ex, message, items); } |