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 @@ +