diff --git a/src/Artemis.Core/Ninject/LoggerProvider.cs b/src/Artemis.Core/Ninject/LoggerProvider.cs
index 3019930cf..beb334ed9 100644
--- a/src/Artemis.Core/Ninject/LoggerProvider.cs
+++ b/src/Artemis.Core/Ninject/LoggerProvider.cs
@@ -8,7 +8,7 @@ namespace Artemis.Core.Ninject
private static readonly ILogger _logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.Enrich.WithDemystifiedStackTraces()
- .WriteTo.File("Artemis log-.txt",
+ .WriteTo.File("Logs/Artemis log-.txt",
rollingInterval: RollingInterval.Day,
outputTemplate: "{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] [{SourceContext:l}] {Message:lj}{NewLine}{Exception}")
.CreateLogger();
diff --git a/src/Artemis.Core/Services/RgbService.cs b/src/Artemis.Core/Services/RgbService.cs
index b968091b2..b2571b360 100644
--- a/src/Artemis.Core/Services/RgbService.cs
+++ b/src/Artemis.Core/Services/RgbService.cs
@@ -94,6 +94,7 @@ namespace Artemis.Core.Services
private void SurfaceOnException(ExceptionEventArgs args)
{
+ _logger.Warning("Surface threw e");
throw args.Exception;
}
diff --git a/src/Artemis.UI/Artemis.UI.csproj b/src/Artemis.UI/Artemis.UI.csproj
index 4a4b7c781..68ac8fc6d 100644
--- a/src/Artemis.UI/Artemis.UI.csproj
+++ b/src/Artemis.UI/Artemis.UI.csproj
@@ -87,6 +87,7 @@
..\packages\MaterialDesignThemes.2.6.0\lib\net45\MaterialDesignThemes.Wpf.dll
+
..\packages\Microsoft.Data.Sqlite.Core.2.2.4\lib\netstandard2.0\Microsoft.Data.Sqlite.dll
@@ -110,6 +111,9 @@
False
..\..\..\RGB.NET\bin\net45\RGB.NET.Groups.dll
+
+ ..\packages\Serilog.2.8.0\lib\net46\Serilog.dll
+
..\packages\SQLitePCLRaw.bundle_green.1.1.12\lib\net45\SQLitePCLRaw.batteries_green.dll
diff --git a/src/Artemis.UI/Bootstrapper.cs b/src/Artemis.UI/Bootstrapper.cs
index 5a8ed2654..d52492dd8 100644
--- a/src/Artemis.UI/Bootstrapper.cs
+++ b/src/Artemis.UI/Bootstrapper.cs
@@ -3,7 +3,6 @@ using Artemis.Core.Ninject;
using Artemis.Core.Services.Interfaces;
using Artemis.UI.Ninject;
using Artemis.UI.Stylet;
-using Artemis.UI.ViewModels;
using Artemis.UI.ViewModels.Screens;
using Ninject;
diff --git a/src/Artemis.UI/Stylet/NinjectBootstrapper.cs b/src/Artemis.UI/Stylet/NinjectBootstrapper.cs
index e8717f153..a2aa78168 100644
--- a/src/Artemis.UI/Stylet/NinjectBootstrapper.cs
+++ b/src/Artemis.UI/Stylet/NinjectBootstrapper.cs
@@ -1,7 +1,9 @@
using System;
using System.Collections.Generic;
using System.Reflection;
+using System.Windows.Threading;
using Ninject;
+using Serilog;
using Stylet;
namespace Artemis.UI.Stylet
@@ -63,5 +65,13 @@ namespace Artemis.UI.Stylet
if (Kernel != null)
Kernel.Dispose();
}
+
+ protected override void OnUnhandledException(DispatcherUnhandledExceptionEventArgs e)
+ {
+ var logger = Kernel.Get();
+ logger.Fatal(e.Exception, "Fatal exception, shutting down.");
+
+ base.OnUnhandledException(e);
+ }
}
}
\ No newline at end of file
diff --git a/src/Artemis.UI/packages.config b/src/Artemis.UI/packages.config
index d4434cb81..1be164a31 100644
--- a/src/Artemis.UI/packages.config
+++ b/src/Artemis.UI/packages.config
@@ -15,6 +15,7 @@
+