summaryrefslogtreecommitdiffstats
path: root/src/main.lib/Services/LogService.cs
diff options
context:
space:
mode:
authorWouter Tinus <win.acme.simple@gmail.com>2019-11-11 21:15:13 +0100
committerWouter Tinus <win.acme.simple@gmail.com>2019-11-11 21:15:13 +0100
commit0038ff3fe312d1e05f44a75da96dc839b9bf69a2 (patch)
treedd7b926bd1a2952d4ea7fbeb37001758d5624ab6 /src/main.lib/Services/LogService.cs
parent9d38914f527adeb108897bfb3a514801c1920268 (diff)
downloadletsencrypt-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.cs38
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);
}