From 29f2c62be9e0bab3f846a5f778c8becdb9bc087c Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 12 Mar 2019 20:49:24 -0400
Subject: [PATCH 01/50] Update NonInvasiveKeyboardHookLibrary NuGet package
---
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 2 +-
src/InvvardDev.EZLayoutDisplay.Desktop/packages.config | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index f4e87b10..a413d8e1 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -75,7 +75,7 @@
..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll
- ..\packages\NonInvasiveKeyboardHookLibrary.1.3.0\lib\net452\NonInvasiveKeyboardHookLibrary.dll
+ ..\packages\NonInvasiveKeyboardHookLibrary.1.4.0\lib\net452\NonInvasiveKeyboardHookLibrary.dll
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
index 46d91e8b..9bdb68c4 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
@@ -4,5 +4,5 @@
-
+
\ No newline at end of file
From 3626f3dde3814676dc15e7e642067909e48873c2 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 12 Mar 2019 20:52:04 -0400
Subject: [PATCH 02/50] Add NLog NuGet package
---
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 8 ++++++++
src/InvvardDev.EZLayoutDisplay.Desktop/packages.config | 1 +
2 files changed, 9 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index a413d8e1..918a78a6 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -74,12 +74,20 @@
..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll
+
+ ..\packages\NLog.4.5.11\lib\net45\NLog.dll
+
..\packages\NonInvasiveKeyboardHookLibrary.1.4.0\lib\net452\NonInvasiveKeyboardHookLibrary.dll
+
+
+
+
+
..\packages\MvvmLightLibs.5.4.1.1\lib\net45\System.Windows.Interactivity.dll
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
index 9bdb68c4..8a5d7ae9 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
@@ -4,5 +4,6 @@
+
\ No newline at end of file
From c3329da7a5867836e2cfb9fa8b18802a984239ba Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 12 Mar 2019 21:00:27 -0400
Subject: [PATCH 03/50] Add the basic NLog config file
---
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 3 +++
.../Properties/NLog.config | 14 ++++++++++++++
2 files changed, 17 insertions(+)
create mode 100644 src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index 918a78a6..98bd7cb5 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -214,6 +214,9 @@
+
+ Always
+
PublicSettingsSingleFileGenerator
Settings.Designer.cs
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
new file mode 100644
index 00000000..a98393a1
--- /dev/null
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
From 72d0bfc16a54d5c2fd516119c1634771385983f6 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 12 Mar 2019 22:57:21 -0400
Subject: [PATCH 04/50] Edit NLog configuration
---
.../Properties/NLog.config | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
index a98393a1..3b1a3fd6 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
@@ -1,9 +1,10 @@
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ throwConfigExceptions="true">
-
-
+
+
From 284c6c5821e0b26885cba4c9ff541157dde31ff3 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 12 Mar 2019 22:59:32 -0400
Subject: [PATCH 05/50] Add the LoggingService interface
---
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 1 +
.../Service/Interface/ILoggingService.cs | 7 +++++++
2 files changed, 8 insertions(+)
create mode 100644 src/InvvardDev.EZLayoutDisplay.Desktop/Service/Interface/ILoggingService.cs
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index 98bd7cb5..79d3fc48 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -150,6 +150,7 @@
+
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Interface/ILoggingService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Interface/ILoggingService.cs
new file mode 100644
index 00000000..67fd99a8
--- /dev/null
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Interface/ILoggingService.cs
@@ -0,0 +1,7 @@
+namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Interface
+{
+ public interface ILoggingService
+ {
+
+ }
+}
\ No newline at end of file
From b3c4faa194ad80c8b3404b20577bc7b0a5e3d652 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 12 Mar 2019 23:21:25 -0400
Subject: [PATCH 06/50] Edit NLog configuration
---
.../Properties/NLog.config | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
index 3b1a3fd6..fd9c8c37 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
@@ -4,7 +4,16 @@
throwConfigExceptions="true">
-
+
From bd966fee3ede7b13b61801e6eed3397df282b329 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Fri, 15 Mar 2019 22:31:30 -0400
Subject: [PATCH 07/50] Add ApplicationInsights NuGet package
---
.../KeyDefinitionProcessor.cs | 3 +--
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 6 ++++++
src/InvvardDev.EZLayoutDisplay.Desktop/packages.config | 2 ++
3 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs b/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
index 23ffae37..2d999f80 100644
--- a/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Threading.Tasks;
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Enum;
using Newtonsoft.Json;
@@ -16,7 +15,7 @@ public class KeyDefinitionProcessor
public KeyDefinitionProcessor() { }
- public async void RunProcess()
+ public void RunProcess()
{
if (!CheckKeyDefinitionJsExists())
{
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index 79d3fc48..7cecd172 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -71,6 +71,9 @@
..\packages\Hardcodet.NotifyIcon.Wpf.1.0.8\lib\net451\Hardcodet.Wpf.TaskbarNotification.dll
+
+ ..\packages\Microsoft.ApplicationInsights.2.9.1\lib\net46\Microsoft.ApplicationInsights.dll
+
..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll
@@ -83,6 +86,9 @@
+
+ ..\packages\System.Diagnostics.DiagnosticSource.4.5.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
+
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
index 8a5d7ae9..a3ec0a1e 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
@@ -2,8 +2,10 @@
+
+
\ No newline at end of file
From ec6dd5fb5eded239065cf207f99fc88f0a3d9ed2 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Fri, 15 Mar 2019 22:37:40 -0400
Subject: [PATCH 08/50] Revert "Add ApplicationInsights NuGet package"
This reverts commit 02f6e8dbc34f4eb145b6d6da9f2053c1877cc885.
---
.../KeyDefinitionProcessor.cs | 3 ++-
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 6 ------
src/InvvardDev.EZLayoutDisplay.Desktop/packages.config | 2 --
3 files changed, 2 insertions(+), 9 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs b/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
index 2d999f80..23ffae37 100644
--- a/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
+using System.Threading.Tasks;
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Enum;
using Newtonsoft.Json;
@@ -15,7 +16,7 @@ public class KeyDefinitionProcessor
public KeyDefinitionProcessor() { }
- public void RunProcess()
+ public async void RunProcess()
{
if (!CheckKeyDefinitionJsExists())
{
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index 7cecd172..79d3fc48 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -71,9 +71,6 @@
..\packages\Hardcodet.NotifyIcon.Wpf.1.0.8\lib\net451\Hardcodet.Wpf.TaskbarNotification.dll
-
- ..\packages\Microsoft.ApplicationInsights.2.9.1\lib\net46\Microsoft.ApplicationInsights.dll
-
..\packages\Newtonsoft.Json.12.0.1\lib\net45\Newtonsoft.Json.dll
@@ -86,9 +83,6 @@
-
- ..\packages\System.Diagnostics.DiagnosticSource.4.5.0\lib\net46\System.Diagnostics.DiagnosticSource.dll
-
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
index a3ec0a1e..8a5d7ae9 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/packages.config
@@ -2,10 +2,8 @@
-
-
\ No newline at end of file
From 30cc5612e7ae81bc32d9ab66849ca0b15ce96008 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Fri, 15 Mar 2019 23:31:27 -0400
Subject: [PATCH 09/50] Move NLog.config to root
---
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 2 +-
.../{Properties => }/NLog.config | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)
rename src/InvvardDev.EZLayoutDisplay.Desktop/{Properties => }/NLog.config (85%)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index 79d3fc48..56a27833 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -215,7 +215,7 @@
-
+
Always
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
similarity index 85%
rename from src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
rename to src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
index fd9c8c37..76c3ef7e 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Properties/NLog.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
@@ -6,7 +6,7 @@
+
From c4b850129298c45402ef66b4b872683da4360eed Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Fri, 15 Mar 2019 23:37:46 -0400
Subject: [PATCH 10/50] Clean KeyDefinitionProcessor class
---
.../KeyDefinitionProcessor.cs | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs b/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
index 23ffae37..d6cedb62 100644
--- a/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Console/KeyDefinitionProcessor.cs
@@ -2,7 +2,6 @@
using System.Collections.Generic;
using System.IO;
using System.Linq;
-using System.Threading.Tasks;
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Enum;
using Newtonsoft.Json;
@@ -14,9 +13,7 @@ public class KeyDefinitionProcessor
private const string KeyDefinitionInputFilename = "keyDefinitions.json";
private const string KeyDefinitionOutputFilename = "keyDefinitions.output.json";
- public KeyDefinitionProcessor() { }
-
- public async void RunProcess()
+ public void RunProcess()
{
if (!CheckKeyDefinitionJsExists())
{
From 80e719ad3e304f34798146c073cfb36fb399914a Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Fri, 15 Mar 2019 23:38:27 -0400
Subject: [PATCH 11/50] Add the DispatcherUnhandledException
---
.../App.xaml.cs | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
index 168f9fcb..4558da2f 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
@@ -1,4 +1,6 @@
-using GalaSoft.MvvmLight.Threading;
+using System.Windows.Threading;
+using GalaSoft.MvvmLight.Threading;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop
{
@@ -7,9 +9,20 @@ namespace InvvardDev.EZLayoutDisplay.Desktop
///
public partial class App
{
+ private static Logger _logger = LogManager.GetCurrentClassLogger();
+
static App()
{
DispatcherHelper.Initialize();
}
+
+ void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
+ {
+ // Process unhandled exception
+ _logger.Error(e.Exception, "Unhandled exception");
+
+ // Prevent default unhandled exception processing
+ e.Handled = true;
+ }
}
}
From 779373c7f5cdf0adf468dbf7f69b3c140a9ace36 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 17 Mar 2019 20:45:40 -0400
Subject: [PATCH 12/50] Changes the rolling time frame to 7u days
---
src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
index 76c3ef7e..53868686 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
@@ -6,12 +6,12 @@
From 0ca7dc2c1d89bb62b32e5554dd59abbb1b2d025e Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 17 Mar 2019 21:11:34 -0400
Subject: [PATCH 13/50] Add logging to KeyDefinitionDictionary loader
---
.../Dictionary/KeyDefinitionDictionary.cs | 20 +++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
index a51cc8d6..5f3f7c6a 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
@@ -1,12 +1,16 @@
-using System.Collections.Generic;
+using System;
+using System.Collections.Generic;
using System.Text;
using InvvardDev.EZLayoutDisplay.Desktop.Properties;
using Newtonsoft.Json;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.Model.Dictionary
{
public class KeyDefinitionDictionary
{
+ private static readonly Logger _logger = LogManager.GetCurrentClassLogger();
+
public List KeyDefinitions { get; private set; }
public KeyDefinitionDictionary()
@@ -20,13 +24,21 @@ private void InitializeKeyDefinitions()
if (Resources.keyDefinitions.Length <= 0)
{
- // TODO : add logging
+ _logger.Warn("KeyDefinitioins are missing from Resources");
return;
}
- var json = Encoding.Default.GetString(Resources.keyDefinitions);
+ try
+ {
+ var json = Encoding.Default.GetString(Resources.keyDefinitions);
+ var keyDefinitions = JsonConvert.DeserializeObject>(json);
- KeyDefinitions.AddRange(JsonConvert.DeserializeObject>(json));
+ KeyDefinitions.AddRange(keyDefinitions);
+ }
+ catch (Exception ex)
+ {
+ _logger.Fatal(ex);
+ }
}
}
}
\ No newline at end of file
From ff3f6e1eadd7e5211ef1827cbbe24bbb9e675b09 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 17 Mar 2019 21:12:27 -0400
Subject: [PATCH 14/50] Update NLog XSD URL
---
src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
index 53868686..e0c45300 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
@@ -1,5 +1,5 @@
-
@@ -20,6 +20,5 @@
-
\ No newline at end of file
From ec45e221f6e8772899af993d5e65ac9feaba896d Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 17 Mar 2019 21:57:29 -0400
Subject: [PATCH 15/50] Add the log level
---
src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
index e0c45300..54fa230a 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
@@ -7,7 +7,7 @@
Date: Sun, 17 Mar 2019 23:01:32 -0400
Subject: [PATCH 16/50] Remove default LogFile rule
---
src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config | 1 -
1 file changed, 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
index 54fa230a..3ca14974 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/NLog.config
@@ -18,7 +18,6 @@
-
\ No newline at end of file
From 32fe7d70daf1a382295f65a164babefa88ffe45b Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 17 Mar 2019 23:02:04 -0400
Subject: [PATCH 17/50] Add app args support and Log level adjustment
---
.../App.xaml.cs | 81 ++++++++++++++++++-
1 file changed, 79 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
index 4558da2f..01306570 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
@@ -1,6 +1,14 @@
-using System.Windows.Threading;
+using System;
+using System.Globalization;
+using System.Linq;
+using System.Text.RegularExpressions;
+using System.Windows;
+using System.Windows.Media.Animation;
+using System.Windows.Threading;
using GalaSoft.MvvmLight.Threading;
using NLog;
+using NLog.Targets;
+using NLog.Targets.Wrappers;
namespace InvvardDev.EZLayoutDisplay.Desktop
{
@@ -24,5 +32,74 @@ void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptio
// Prevent default unhandled exception processing
e.Handled = true;
}
+
+ protected override void OnStartup(StartupEventArgs e)
+ {
+ ProcessArgs(e.Args);
+ base.OnStartup(e);
+ }
+
+ private void ProcessArgs(string[] args)
+ {
+ foreach (var arg in args)
+ {
+ switch (arg)
+ {
+ case var val when val.StartsWith("-loglevel=", true, CultureInfo.InvariantCulture):
+ (string key, string value) = SplitArg(arg);
+
+ LogLevel level = GetLogLevel(value);
+ AdjustLogLevel(level);
+
+ break;
+ }
+ }
+ }
+
+ private (string, string) SplitArg(string arg)
+ {
+ var (key, value) = ("", "");
+ var splitted = arg.Split('=');
+
+ if (splitted.Length <= 1) return (key, value);
+
+ key = splitted[0];
+ value = splitted[1];
+
+ return (key, value);
+ }
+
+ private LogLevel GetLogLevel(string value)
+ {
+ LogLevel level;
+
+ switch (value.ToLower())
+ {
+ case "debug":
+ level = LogLevel.Debug;
+
+ break;
+ case "trace":
+ level = LogLevel.Trace;
+
+ break;
+ default:
+ level = LogLevel.Warn;
+
+ break;
+ }
+
+ return level;
+ }
+
+ private void AdjustLogLevel(LogLevel logLevel)
+ {
+ var target = LogManager.Configuration.FindTargetByName("logfile");
+
+ if (target != null)
+ {
+ LogManager.Configuration.AddRule(logLevel, LogLevel.Fatal, target);
+ }
+ }
}
-}
+}
\ No newline at end of file
From 56366a1c50eb30af0e08e12a4ea73fd9fd1da87b Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 20:41:57 -0400
Subject: [PATCH 18/50] Create LoggerConfiguration
---
.../Helper/LoggerConfguration.cs | 40 +++++++++++++++++++
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 1 +
2 files changed, 41 insertions(+)
create mode 100644 src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerConfguration.cs
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerConfguration.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerConfguration.cs
new file mode 100644
index 00000000..c13daba2
--- /dev/null
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerConfguration.cs
@@ -0,0 +1,40 @@
+using NLog;
+
+namespace InvvardDev.EZLayoutDisplay.Desktop.Helper
+{
+ public class LoggerConfguration
+ {
+ internal static LogLevel GetLogLevel(string value)
+ {
+ LogLevel level;
+
+ switch (value.ToLower())
+ {
+ case "debug":
+ level = LogLevel.Debug;
+
+ break;
+ case "trace":
+ level = LogLevel.Trace;
+
+ break;
+ default:
+ level = LogLevel.Warn;
+
+ break;
+ }
+
+ return level;
+ }
+
+ internal static void AdjustLogLevel(LogLevel logLevel)
+ {
+ var target = LogManager.Configuration.FindTargetByName("logfile");
+
+ if (target != null)
+ {
+ LogManager.Configuration.AddRule(logLevel, LogLevel.Fatal, target);
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index 56a27833..f9aa331b 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -110,6 +110,7 @@
Designer
+
From 1b6b9dad4756b1a8da0287ee0e6ac6d869da51f0 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 20:42:34 -0400
Subject: [PATCH 19/50] Add DispatcherUnhandledException event handler
---
.../App.xaml.cs | 67 ++++---------------
1 file changed, 14 insertions(+), 53 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
index 01306570..5eb56382 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
@@ -1,14 +1,9 @@
-using System;
-using System.Globalization;
-using System.Linq;
-using System.Text.RegularExpressions;
+using System.Globalization;
using System.Windows;
-using System.Windows.Media.Animation;
using System.Windows.Threading;
using GalaSoft.MvvmLight.Threading;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using NLog;
-using NLog.Targets;
-using NLog.Targets.Wrappers;
namespace InvvardDev.EZLayoutDisplay.Desktop
{
@@ -17,20 +12,12 @@ namespace InvvardDev.EZLayoutDisplay.Desktop
///
public partial class App
{
- private static Logger _logger = LogManager.GetCurrentClassLogger();
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
- static App()
+ public App()
{
DispatcherHelper.Initialize();
- }
-
- void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
- {
- // Process unhandled exception
- _logger.Error(e.Exception, "Unhandled exception");
-
- // Prevent default unhandled exception processing
- e.Handled = true;
+ DispatcherUnhandledException += OnDispatcherUnhandledException;
}
protected override void OnStartup(StartupEventArgs e)
@@ -39,6 +26,13 @@ protected override void OnStartup(StartupEventArgs e)
base.OnStartup(e);
}
+ protected void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
+ {
+ Logger.Error(e.Exception, "Unhandled exception");
+
+ e.Handled = true;
+ }
+
private void ProcessArgs(string[] args)
{
foreach (var arg in args)
@@ -48,8 +42,8 @@ private void ProcessArgs(string[] args)
case var val when val.StartsWith("-loglevel=", true, CultureInfo.InvariantCulture):
(string key, string value) = SplitArg(arg);
- LogLevel level = GetLogLevel(value);
- AdjustLogLevel(level);
+ LogLevel level = LoggerConfguration.GetLogLevel(value);
+ LoggerConfguration.AdjustLogLevel(level);
break;
}
@@ -68,38 +62,5 @@ private void ProcessArgs(string[] args)
return (key, value);
}
-
- private LogLevel GetLogLevel(string value)
- {
- LogLevel level;
-
- switch (value.ToLower())
- {
- case "debug":
- level = LogLevel.Debug;
-
- break;
- case "trace":
- level = LogLevel.Trace;
-
- break;
- default:
- level = LogLevel.Warn;
-
- break;
- }
-
- return level;
- }
-
- private void AdjustLogLevel(LogLevel logLevel)
- {
- var target = LogManager.Configuration.FindTargetByName("logfile");
-
- if (target != null)
- {
- LogManager.Configuration.AddRule(logLevel, LogLevel.Fatal, target);
- }
- }
}
}
\ No newline at end of file
From a6e4e9e2d37a83a92317df0e00edc11c75c9f0bc Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:06:26 -0400
Subject: [PATCH 20/50] Add a message box in case of last chance exception
handling
---
src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
index 5eb56382..9bea567a 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
@@ -28,7 +28,11 @@ protected override void OnStartup(StartupEventArgs e)
protected void OnDispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
- Logger.Error(e.Exception, "Unhandled exception");
+ Logger.Error(e.Exception, "Unhandled exception", sender);
+ MessageBox.Show("Something went horribly wrong...\nBut I landed on my feet like a cat !\n\nCheck logs to get more details.",
+ "Almost crashed...",
+ MessageBoxButton.OK,
+ MessageBoxImage.Error);
e.Handled = true;
}
From 1cf40f22f331bee8be7310f96310c75ecd9b6c6f Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:06:48 -0400
Subject: [PATCH 21/50] Add logs to KeyDefinitionDictionary
---
.../Model/Dictionary/KeyDefinitionDictionary.cs | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
index 5f3f7c6a..29f74b9c 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
@@ -9,7 +9,7 @@ namespace InvvardDev.EZLayoutDisplay.Desktop.Model.Dictionary
{
public class KeyDefinitionDictionary
{
- private static readonly Logger _logger = LogManager.GetCurrentClassLogger();
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
public List KeyDefinitions { get; private set; }
@@ -20,24 +20,28 @@ public KeyDefinitionDictionary()
private void InitializeKeyDefinitions()
{
+ Logger.Trace($"Call {nameof(InitializeKeyDefinitions)} method");
KeyDefinitions = new List();
if (Resources.keyDefinitions.Length <= 0)
{
- _logger.Warn("KeyDefinitioins are missing from Resources");
+ Logger.Warn("KeyDefinitioins are missing from Resources");
return;
}
try
{
var json = Encoding.Default.GetString(Resources.keyDefinitions);
+ Logger.Debug($"Resource content = {json}");
+
var keyDefinitions = JsonConvert.DeserializeObject>(json);
+ Logger.Debug("Key definitions {@value1}", keyDefinitions);
KeyDefinitions.AddRange(keyDefinitions);
}
catch (Exception ex)
{
- _logger.Fatal(ex);
+ Logger.Error(ex);
}
}
}
From 0cb65f8b9ab40eca63afa540821d8b48a454c038 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:18:00 -0400
Subject: [PATCH 22/50] Add trace into AboutViewModel
---
.../ViewModel/AboutViewModel.cs | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
index 7ba8992a..17c80505 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
@@ -1,4 +1,5 @@
-using System.Diagnostics;
+using System;
+using System.Diagnostics;
using System.Linq;
using System.Reflection;
using System.Windows.Input;
@@ -6,6 +7,7 @@
using GalaSoft.MvvmLight.CommandWpf;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using InvvardDev.EZLayoutDisplay.Desktop.View;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.ViewModel
{
@@ -13,7 +15,9 @@ public class AboutViewModel : ViewModelBase
{
#region Fields
- private IWindowService _windowService;
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
+ private readonly IWindowService _windowService;
private string _windowTitle;
private string _appTitleLabel;
@@ -159,6 +163,8 @@ private void CloseAboutWindow()
public AboutViewModel(IWindowService windowService)
{
+ Logger.Trace("Instanciate {0}", GetType());
+
_windowService = windowService;
_basedOnUrl = "https://configure.ergodox-ez.com/layouts/default/latest/0";
From acdab02505e13725ea711b82345319da99b781b7 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:21:47 -0400
Subject: [PATCH 23/50] Add tracing into DisplayLayoutViewModel
---
.../ViewModel/DisplayLayoutViewModel.cs | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
index a59705b9..9d91a650 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
@@ -15,13 +15,16 @@
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using InvvardDev.EZLayoutDisplay.Desktop.View;
using Newtonsoft.Json;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.ViewModel
{
public class DisplayLayoutViewModel : ViewModelBase
- {
+ {
#region Fields
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
private readonly IWindowService _windowService;
private readonly ILayoutService _layoutService;
private readonly ISettingsService _settingsService;
@@ -99,6 +102,8 @@ public int CurrentLayerIndex
public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layoutService, ISettingsService settingsService)
{
+ Logger.Trace("{0}", GetType());
+
_windowService = windowService;
_layoutService = layoutService;
_settingsService = settingsService;
@@ -109,6 +114,8 @@ public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layou
SetLabelUi();
LoadCompleteLayout();
+
+ Logger.Trace("About Window created");
}
#region Private methods
From 0cfe35b94c576a984045b033c843e5c5290b737c Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:22:08 -0400
Subject: [PATCH 24/50] Add tracing into MainViewModel
---
.../ViewModel/MainViewModel.cs | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
index 058ca6c0..56efa5ed 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
@@ -3,6 +3,7 @@
using GalaSoft.MvvmLight.CommandWpf;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using InvvardDev.EZLayoutDisplay.Desktop.View;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.ViewModel
{
@@ -16,6 +17,8 @@ public class MainViewModel : ViewModelBase
{
#region Fields
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
private ICommand _showLayoutCommand;
private ICommand _showSettingsCommand;
private ICommand _showAboutCommand;
@@ -97,6 +100,8 @@ public string TrayMenuExitCommandLabel
///
public MainViewModel(IWindowService windowService, IApplicationService applicationService)
{
+ Logger.Trace("{0}", GetType());
+
_windowService = windowService;
_applicationService = applicationService;
From bff8dbc271198a485b0ab1f2af6e289c43d53de3 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:44:19 -0400
Subject: [PATCH 25/50] Update tracing
---
.../ViewModel/DisplayLayoutViewModel.cs | 2 +-
.../ViewModel/MainViewModel.cs | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
index 9d91a650..a216ff8f 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
@@ -102,7 +102,7 @@ public int CurrentLayerIndex
public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layoutService, ISettingsService settingsService)
{
- Logger.Trace("{0}", GetType());
+ Logger.Trace("Instanciate {0}", GetType());
_windowService = windowService;
_layoutService = layoutService;
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
index 56efa5ed..3be58226 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
@@ -100,7 +100,7 @@ public string TrayMenuExitCommandLabel
///
public MainViewModel(IWindowService windowService, IApplicationService applicationService)
{
- Logger.Trace("{0}", GetType());
+ Logger.Trace("Instanciate {0}", GetType());
_windowService = windowService;
_applicationService = applicationService;
From 4e1339ab53c985698f8f4b27a9c52e6ca726eef7 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:44:39 -0400
Subject: [PATCH 26/50] Add tracing to SettingsViewModel
---
.../ViewModel/SettingsViewModel.cs | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
index f9338d35..ccb9336a 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
@@ -9,6 +9,7 @@
using InvvardDev.EZLayoutDisplay.Desktop.Model.Messenger;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using InvvardDev.EZLayoutDisplay.Desktop.View;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.ViewModel
{
@@ -16,6 +17,8 @@ public class SettingsViewModel : ViewModelBase
{
#region Fields
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
private readonly ISettingsService _settingsService;
private readonly IWindowService _windowService;
private readonly ILayoutService _layoutService;
@@ -163,6 +166,8 @@ public Hotkey HotkeyShowLayout
public SettingsViewModel(ISettingsService settingsService, IWindowService windowService, ILayoutService layoutService)
{
+ Logger.Trace("Instanciate {0}", GetType());
+
_settingsService = settingsService;
_windowService = windowService;
_layoutService = layoutService;
From ecc31a2ec8936b405ca61674548f86c7233d5326 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:45:08 -0400
Subject: [PATCH 27/50] Add NLog shutdown
---
.../ViewModel/ViewModelLocator.cs | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/ViewModelLocator.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/ViewModelLocator.cs
index 9989e67d..918efd8e 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/ViewModelLocator.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/ViewModelLocator.cs
@@ -3,6 +3,7 @@
using GalaSoft.MvvmLight.Ioc;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
+using NLog;
using ApplicationService = InvvardDev.EZLayoutDisplay.Desktop.Service.Design.ApplicationService;
using KeyboardHookService = InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation.KeyboardHookService;
using LayoutService = InvvardDev.EZLayoutDisplay.Desktop.Service.Design.LayoutService;
@@ -68,6 +69,7 @@ static ViewModelLocator()
public static void Cleanup()
{
SimpleIoc.Default.GetInstance()?.Dispose();
+ LogManager.Shutdown();
}
}
}
\ No newline at end of file
From f53dfc8c23b34228db0f59eb74f1a6182d9fa4c3 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 21:49:05 -0400
Subject: [PATCH 28/50] Add tracing
---
.../ViewModel/AboutViewModel.cs | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
index 17c80505..d09f4f74 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
@@ -197,6 +197,8 @@ private void SetLabelUi()
private static string GetAppTitle()
{
+ Logger.Trace("Call {0} method", nameof(GetAppTitle));
+
var appTitle = "EZ Layout Display";
var customAttributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyTitleAttribute), false).FirstOrDefault();
@@ -211,16 +213,19 @@ private static string GetAppTitle()
private void NavigateBasedOnUrl()
{
+ Logger.Trace("Call {0} relay command", nameof(NavigateBasedOnUrl));
Process.Start(_basedOnUrl);
}
private void NavigateProjectHomeUrl()
{
+ Logger.Trace("Call {0} relay command", nameof(NavigateProjectHomeUrl));
Process.Start(_projectHomeUrl);
}
private void NavigateContactUrl()
{
+ Logger.Trace("Call {0} relay command", nameof(NavigateContactUrl));
Process.Start(_contactUrl);
}
From 17b0d137bf13660216b3812148259404cd7b9adf Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 22:23:58 -0400
Subject: [PATCH 29/50] Rename LoggerHelper
---
.../{LoggerConfguration.cs => LoggerHelper.cs} | 15 +++++++++++++--
.../InvvardDev.EZLayoutDisplay.Desktop.csproj | 2 +-
2 files changed, 14 insertions(+), 3 deletions(-)
rename src/InvvardDev.EZLayoutDisplay.Desktop/Helper/{LoggerConfguration.cs => LoggerHelper.cs} (57%)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerConfguration.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
similarity index 57%
rename from src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerConfguration.cs
rename to src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
index c13daba2..0670a0a5 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerConfguration.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
@@ -1,9 +1,20 @@
-using NLog;
+using System.Runtime.CompilerServices;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.Helper
{
- public class LoggerConfguration
+ public class LoggerHelper
{
+ internal static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
+ internal static void TraceMethod(string message = "Method {0} called (line {1})",
+ [ CallerMemberName ] string memberName = "",
+ [ CallerFilePath ] string sourceFilePath = "",
+ [ CallerLineNumber ] int sourceLineNumber = 0)
+ {
+ Logger.Trace(message, memberName, sourceLineNumber);
+ }
+
internal static LogLevel GetLogLevel(string value)
{
LogLevel level;
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
index f9aa331b..e97b739f 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj
@@ -110,7 +110,7 @@
Designer
-
+
From f2b1a8bdd9276638716fe9ecdd5121932db07ccf Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 22:24:13 -0400
Subject: [PATCH 30/50] Rename LoggerHelper
---
src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
index 9bea567a..2a152cb0 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/App.xaml.cs
@@ -46,8 +46,8 @@ private void ProcessArgs(string[] args)
case var val when val.StartsWith("-loglevel=", true, CultureInfo.InvariantCulture):
(string key, string value) = SplitArg(arg);
- LogLevel level = LoggerConfguration.GetLogLevel(value);
- LoggerConfguration.AdjustLogLevel(level);
+ LogLevel level = LoggerHelper.GetLogLevel(value);
+ LoggerHelper.AdjustLogLevel(level);
break;
}
From b9c496ba080d09dd735bf81090371bf4e02fa050 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 18 Mar 2019 22:26:59 -0400
Subject: [PATCH 31/50] Add tracing to DisplayLayoutViewModel
---
.../ViewModel/DisplayLayoutViewModel.cs | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
index a216ff8f..8f11b5e2 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
@@ -8,6 +8,7 @@
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.CommandWpf;
using GalaSoft.MvvmLight.Messaging;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Enum;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Messenger;
@@ -102,7 +103,7 @@ public int CurrentLayerIndex
public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layoutService, ISettingsService settingsService)
{
- Logger.Trace("Instanciate {0}", GetType());
+ LoggerHelper.TraceMethod("Instanciate {0}");
_windowService = windowService;
_layoutService = layoutService;
@@ -114,8 +115,6 @@ public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layou
SetLabelUi();
LoadCompleteLayout();
-
- Logger.Trace("About Window created");
}
#region Private methods
@@ -127,6 +126,7 @@ private void SetLabelUi()
private async void LoadCompleteLayout()
{
+ LoggerHelper.TraceMethod();
CurrentLayerIndex = 0;
if (IsInDesignModeStatic)
@@ -213,6 +213,8 @@ private async Task PopulateLayoutTemplates()
private void SwitchLayer()
{
+ LoggerHelper.TraceMethod();
+ Logger.Info("Switch to Layer {0} on {1}", CurrentLayerIndex, _layoutTemplates.Count - 1);
if (_layoutTemplates.Any())
{
CurrentLayoutTemplate = new ObservableCollection(_layoutTemplates[CurrentLayerIndex]);
@@ -224,11 +226,13 @@ private void SwitchLayer()
private void LoadCompleteLayout(UpdatedLayoutMessage obj)
{
+ LoggerHelper.TraceMethod("Intercept {0} message");
LoadCompleteLayout();
}
private void LostFocus()
{
+ LoggerHelper.TraceMethod("Call {0} relay command");
_windowService.CloseWindow();
}
@@ -241,6 +245,7 @@ private bool NextLayerCanExecute()
private void NextLayer()
{
+ LoggerHelper.TraceMethod("Call {0} relay command");
var maxLayerIndex = _ezLayout.EZLayers.Count - 1;
switch (CurrentLayerIndex)
From e51e38e59e5abd6ffae29a9ad403b9d6300e47bc Mon Sep 17 00:00:00 2001
From: Pierre C
Date: Tue, 19 Mar 2019 21:01:33 -0400
Subject: [PATCH 32/50] Change TraceMethod to extension
---
.../Helper/LoggerHelper.cs | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
index 0670a0a5..9ef7fce8 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
@@ -3,16 +3,15 @@
namespace InvvardDev.EZLayoutDisplay.Desktop.Helper
{
- public class LoggerHelper
+ public static class LoggerHelper
{
- internal static readonly Logger Logger = LogManager.GetCurrentClassLogger();
-
- internal static void TraceMethod(string message = "Method {0} called (line {1})",
+ internal static void TraceMethod(this Logger logger,
+ string message = "Method {0} called (line {1})",
[ CallerMemberName ] string memberName = "",
[ CallerFilePath ] string sourceFilePath = "",
[ CallerLineNumber ] int sourceLineNumber = 0)
{
- Logger.Trace(message, memberName, sourceLineNumber);
+ logger.Trace(message, memberName, sourceLineNumber);
}
internal static LogLevel GetLogLevel(string value)
From 39931527a0b936b4189c37883aef06d5fa429fbc Mon Sep 17 00:00:00 2001
From: Pierre C
Date: Tue, 19 Mar 2019 21:03:02 -0400
Subject: [PATCH 33/50] Call the extension method
---
.../ViewModel/DisplayLayoutViewModel.cs | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
index 8f11b5e2..3c0262c6 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
@@ -103,7 +103,7 @@ public int CurrentLayerIndex
public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layoutService, ISettingsService settingsService)
{
- LoggerHelper.TraceMethod("Instanciate {0}");
+ Logger.TraceMethod("Instanciate {0}");
_windowService = windowService;
_layoutService = layoutService;
@@ -126,7 +126,7 @@ private void SetLabelUi()
private async void LoadCompleteLayout()
{
- LoggerHelper.TraceMethod();
+ Logger.TraceMethod();
CurrentLayerIndex = 0;
if (IsInDesignModeStatic)
@@ -213,7 +213,7 @@ private async Task PopulateLayoutTemplates()
private void SwitchLayer()
{
- LoggerHelper.TraceMethod();
+ Logger.TraceMethod();
Logger.Info("Switch to Layer {0} on {1}", CurrentLayerIndex, _layoutTemplates.Count - 1);
if (_layoutTemplates.Any())
{
@@ -226,13 +226,13 @@ private void SwitchLayer()
private void LoadCompleteLayout(UpdatedLayoutMessage obj)
{
- LoggerHelper.TraceMethod("Intercept {0} message");
+ Logger.TraceMethod("Intercept {0} message");
LoadCompleteLayout();
}
private void LostFocus()
{
- LoggerHelper.TraceMethod("Call {0} relay command");
+ Logger.TraceMethod("Call {0} relay command");
_windowService.CloseWindow();
}
@@ -245,7 +245,7 @@ private bool NextLayerCanExecute()
private void NextLayer()
{
- LoggerHelper.TraceMethod("Call {0} relay command");
+ Logger.TraceMethod("Call {0} relay command");
var maxLayerIndex = _ezLayout.EZLayers.Count - 1;
switch (CurrentLayerIndex)
From c62a80b57e64a08d74c407b666fc5aea690d4550 Mon Sep 17 00:00:00 2001
From: Pierre C
Date: Tue, 19 Mar 2019 21:09:47 -0400
Subject: [PATCH 34/50] Add constructor tracer extension
---
.../Helper/LoggerHelper.cs | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
index 9ef7fce8..6bce5992 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
@@ -14,6 +14,15 @@ internal static void TraceMethod(this Logger logger,
logger.Trace(message, memberName, sourceLineNumber);
}
+ internal static void TraceConstructor(this Logger logger,
+ string message = "Instanciate {0} (line {1})",
+ [ CallerMemberName ] string memberName = "",
+ [ CallerFilePath ] string sourceFilePath = "",
+ [ CallerLineNumber ] int sourceLineNumber = 0)
+ {
+ logger.Trace(message, memberName, sourceLineNumber);
+ }
+
internal static LogLevel GetLogLevel(string value)
{
LogLevel level;
From 8249b08b86601836afd9accbe6ea32b04900ba36 Mon Sep 17 00:00:00 2001
From: Pierre C
Date: Tue, 19 Mar 2019 21:13:09 -0400
Subject: [PATCH 35/50] Add the RelayCommand tracer extension
---
.../Helper/LoggerHelper.cs | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
index 6bce5992..be496231 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
@@ -6,7 +6,7 @@ namespace InvvardDev.EZLayoutDisplay.Desktop.Helper
public static class LoggerHelper
{
internal static void TraceMethod(this Logger logger,
- string message = "Method {0} called (line {1})",
+ string message = "[Method] {0} (line {1})",
[ CallerMemberName ] string memberName = "",
[ CallerFilePath ] string sourceFilePath = "",
[ CallerLineNumber ] int sourceLineNumber = 0)
@@ -14,8 +14,17 @@ internal static void TraceMethod(this Logger logger,
logger.Trace(message, memberName, sourceLineNumber);
}
+ internal static void TraceRelayCommand(this Logger logger,
+ string message = "[Relay Command] {0} (line {1})",
+ [ CallerMemberName ] string memberName = "",
+ [ CallerFilePath ] string sourceFilePath = "",
+ [ CallerLineNumber ] int sourceLineNumber = 0)
+ {
+ logger.Trace(message, memberName, sourceLineNumber);
+ }
+
internal static void TraceConstructor(this Logger logger,
- string message = "Instanciate {0} (line {1})",
+ string message = "[Constructor] {0} (line {1})",
[ CallerMemberName ] string memberName = "",
[ CallerFilePath ] string sourceFilePath = "",
[ CallerLineNumber ] int sourceLineNumber = 0)
From ea5d5ca6f1c426b57a9e3f381af3f8fe46348068 Mon Sep 17 00:00:00 2001
From: Pierre C
Date: Tue, 19 Mar 2019 21:32:20 -0400
Subject: [PATCH 36/50] Add tracing
---
.../ViewModel/DisplayLayoutViewModel.cs | 20 +++++++++----------
.../ViewModel/MainViewModel.cs | 14 ++++++-------
2 files changed, 16 insertions(+), 18 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
index 3c0262c6..b3294656 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
@@ -103,7 +103,7 @@ public int CurrentLayerIndex
public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layoutService, ISettingsService settingsService)
{
- Logger.TraceMethod("Instanciate {0}");
+ Logger.TraceConstructor();
_windowService = windowService;
_layoutService = layoutService;
@@ -232,20 +232,13 @@ private void LoadCompleteLayout(UpdatedLayoutMessage obj)
private void LostFocus()
{
- Logger.TraceMethod("Call {0} relay command");
+ Logger.TraceRelayCommand();
_windowService.CloseWindow();
}
- private bool NextLayerCanExecute()
- {
- var canExecute = _layoutTemplates.Any();
-
- return canExecute;
- }
-
private void NextLayer()
{
- Logger.TraceMethod("Call {0} relay command");
+ Logger.TraceRelayCommand();
var maxLayerIndex = _ezLayout.EZLayers.Count - 1;
switch (CurrentLayerIndex)
@@ -264,6 +257,13 @@ private void NextLayer()
SwitchLayer();
}
+ private bool NextLayerCanExecute()
+ {
+ var canExecute = _layoutTemplates.Any();
+
+ return canExecute;
+ }
+
#endregion
#endregion
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
index 3be58226..d9d756a5 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/MainViewModel.cs
@@ -1,6 +1,7 @@
using System.Windows.Input;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.CommandWpf;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using InvvardDev.EZLayoutDisplay.Desktop.View;
using NLog;
@@ -100,7 +101,7 @@ public string TrayMenuExitCommandLabel
///
public MainViewModel(IWindowService windowService, IApplicationService applicationService)
{
- Logger.Trace("Instanciate {0}", GetType());
+ Logger.TraceConstructor();
_windowService = windowService;
_applicationService = applicationService;
@@ -123,31 +124,28 @@ private void SetLabelUi()
private void ShowLayoutWindow()
{
+ Logger.TraceRelayCommand();
_windowService.ShowWindow();
}
private void ShowSettingsWindow()
{
+ Logger.TraceRelayCommand();
_windowService.ShowWindow();
}
private void ShowAboutWindow()
{
+ Logger.TraceRelayCommand();
_windowService.ShowWindow();
}
private void ShutdownApplication()
{
+ Logger.TraceRelayCommand();
_applicationService.ShutdownApplication();
}
#endregion
-
- ////public override void Cleanup()
- ////{
- //// // Clean up if needed
-
- //// base.Cleanup();
- ////}
}
}
\ No newline at end of file
From f99345a9edad1d6e666b08eeb82ae432198b75d1 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 19 Mar 2019 21:47:08 -0400
Subject: [PATCH 37/50] Add AboutViewModel tracing
---
.../ViewModel/AboutViewModel.cs | 22 ++++++++++---------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
index d09f4f74..7d38636b 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/AboutViewModel.cs
@@ -5,6 +5,7 @@
using System.Windows.Input;
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.CommandWpf;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using InvvardDev.EZLayoutDisplay.Desktop.View;
using NLog;
@@ -152,18 +153,13 @@ public string CloseButtonLabel
_closeAboutCommand
?? (_closeAboutCommand = new RelayCommand(CloseAboutWindow));
- private void CloseAboutWindow()
- {
- _windowService.CloseWindow();
- }
-
#endregion
#region Constructor
public AboutViewModel(IWindowService windowService)
{
- Logger.Trace("Instanciate {0}", GetType());
+ Logger.TraceConstructor();
_windowService = windowService;
@@ -197,7 +193,7 @@ private void SetLabelUi()
private static string GetAppTitle()
{
- Logger.Trace("Call {0} method", nameof(GetAppTitle));
+ Logger.TraceMethod();
var appTitle = "EZ Layout Display";
@@ -213,22 +209,28 @@ private static string GetAppTitle()
private void NavigateBasedOnUrl()
{
- Logger.Trace("Call {0} relay command", nameof(NavigateBasedOnUrl));
+ Logger.TraceRelayCommand();
Process.Start(_basedOnUrl);
}
private void NavigateProjectHomeUrl()
{
- Logger.Trace("Call {0} relay command", nameof(NavigateProjectHomeUrl));
+ Logger.TraceRelayCommand();
Process.Start(_projectHomeUrl);
}
private void NavigateContactUrl()
{
- Logger.Trace("Call {0} relay command", nameof(NavigateContactUrl));
+ Logger.TraceRelayCommand();
Process.Start(_contactUrl);
}
+ private void CloseAboutWindow()
+ {
+ Logger.TraceRelayCommand();
+ _windowService.CloseWindow();
+ }
+
#endregion
}
}
\ No newline at end of file
From cf7ad3cffb47ce6d0793e12bb1235a645991bc1e Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 19 Mar 2019 22:00:35 -0400
Subject: [PATCH 38/50] Add SettingsViewModel tracing
---
.../ViewModel/SettingsViewModel.cs | 50 +++++++++++++++----
1 file changed, 39 insertions(+), 11 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
index ccb9336a..d29cf712 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
@@ -5,6 +5,7 @@
using GalaSoft.MvvmLight;
using GalaSoft.MvvmLight.CommandWpf;
using GalaSoft.MvvmLight.Messaging;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Messenger;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
@@ -126,28 +127,31 @@ public string LayoutUrlContent
get => _layoutUrlContent;
set
{
- if (Set(ref _layoutUrlContent, value)) { UpdateButtonCanExecute(); }
+ if (Set(ref _layoutUrlContent, value))
+ {
+ UpdateButtonCanExecute();
+ }
}
}
-
+
public string AltModifierLabel
{
get => _altModifierLabel;
set => Set(ref _altModifierLabel, value);
}
-
+
public string CtrlModifierLabel
{
get => _ctrlModifierLabel;
set => Set(ref _ctrlModifierLabel, value);
}
-
+
public string ShiftModifierLabel
{
get => _shiftModifierLabel;
set => Set(ref _shiftModifierLabel, value);
}
-
+
public string WindowsModifierLabel
{
get => _windowsModifierLabel;
@@ -166,7 +170,7 @@ public Hotkey HotkeyShowLayout
public SettingsViewModel(ISettingsService settingsService, IWindowService windowService, ILayoutService layoutService)
{
- Logger.Trace("Instanciate {0}", GetType());
+ Logger.TraceConstructor();
_settingsService = settingsService;
_windowService = windowService;
@@ -204,6 +208,8 @@ private void SetSettingControls()
private async void SaveSettings()
{
+ Logger.TraceMethod();
+
await UpdateLayout();
_settingsService.ErgodoxLayoutUrl = LayoutUrlContent;
@@ -218,6 +224,8 @@ private async void SaveSettings()
private void CancelSettings()
{
+ Logger.TraceRelayCommand();
+
_settingsService.Cancel();
LayoutUrlContent = _settingsService.ErgodoxLayoutUrl;
@@ -226,21 +234,28 @@ private void CancelSettings()
private void CloseSettingsWindow()
{
+ Logger.TraceRelayCommand();
+
if (IsDirty())
{
SaveSettings();
}
+
_windowService.CloseWindow();
}
private void UpdateButtonCanExecute()
{
- ((RelayCommand)ApplySettingsCommand).RaiseCanExecuteChanged();
- ((RelayCommand)CancelSettingsCommand).RaiseCanExecuteChanged();
+ Logger.TraceMethod();
+
+ ((RelayCommand) ApplySettingsCommand).RaiseCanExecuteChanged();
+ ((RelayCommand) CancelSettingsCommand).RaiseCanExecuteChanged();
}
private bool IsDirty()
{
+ Logger.TraceMethod();
+
var isDirty = _settingsService.ErgodoxLayoutUrl != _layoutUrlContent;
return isDirty;
@@ -248,6 +263,8 @@ private bool IsDirty()
private async Task UpdateLayout()
{
+ Logger.TraceMethod();
+
var layoutHashId = ExtractLayoutHashId(LayoutUrlContent);
try
@@ -256,12 +273,20 @@ private async Task UpdateLayout()
var ezLayout = _layoutService.PrepareEZLayout(ergodoxLayout);
_settingsService.EZLayout = ezLayout;
}
- catch (ArgumentNullException) { throw; }
- catch (ArgumentException aex) { _windowService.ShowWarning(aex.Message); }
+ catch (ArgumentNullException)
+ {
+ throw;
+ }
+ catch (ArgumentException aex)
+ {
+ _windowService.ShowWarning(aex.Message);
+ }
}
private string ExtractLayoutHashId(string layoutUrl)
{
+ Logger.TraceMethod();
+
var layoutHashIdGroupName = "layoutHashId";
var pattern = $"https://configure.ergodox-ez.com/layouts/(?<{layoutHashIdGroupName}>default|[a-zA-Z0-9]{{4}})(?:/latest/[0-9])?";
var layoutHashId = "default";
@@ -269,7 +294,10 @@ private string ExtractLayoutHashId(string layoutUrl)
var regex = new Regex(pattern);
var match = regex.Match(layoutUrl);
- if (match.Success) { layoutHashId = match.Groups[layoutHashIdGroupName].Value; }
+ if (match.Success)
+ {
+ layoutHashId = match.Groups[layoutHashIdGroupName].Value;
+ }
return layoutHashId;
}
From 8a9c1befed7a10bb596b2d07381df0c920d3a814 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 19 Mar 2019 22:41:39 -0400
Subject: [PATCH 39/50] Add debug logs
---
.../Model/Dictionary/KeyDefinitionDictionary.cs | 4 +++-
.../ViewModel/SettingsViewModel.cs | 13 ++++++++++---
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
index 29f74b9c..f2d69140 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Model/Dictionary/KeyDefinitionDictionary.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Properties;
using Newtonsoft.Json;
using NLog;
@@ -15,12 +16,13 @@ public class KeyDefinitionDictionary
public KeyDefinitionDictionary()
{
+ Logger.TraceConstructor();
InitializeKeyDefinitions();
}
private void InitializeKeyDefinitions()
{
- Logger.Trace($"Call {nameof(InitializeKeyDefinitions)} method");
+ Logger.TraceMethod();
KeyDefinitions = new List();
if (Resources.keyDefinitions.Length <= 0)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
index d29cf712..84494ab5 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
@@ -254,8 +254,6 @@ private void UpdateButtonCanExecute()
private bool IsDirty()
{
- Logger.TraceMethod();
-
var isDirty = _settingsService.ErgodoxLayoutUrl != _layoutUrlContent;
return isDirty;
@@ -267,18 +265,27 @@ private async Task UpdateLayout()
var layoutHashId = ExtractLayoutHashId(LayoutUrlContent);
+ Logger.Debug("Layout Hash ID = {0}", layoutHashId);
+
try
{
var ergodoxLayout = await _layoutService.GetErgodoxLayout(layoutHashId);
+ Logger.Debug("ergodoxLayout = {@value0}", ergodoxLayout);
+
var ezLayout = _layoutService.PrepareEZLayout(ergodoxLayout);
+ Logger.Debug("ezLayout = {@value0}", ezLayout);
+
_settingsService.EZLayout = ezLayout;
}
- catch (ArgumentNullException)
+ catch (ArgumentNullException anex)
{
+ Logger.Error(anex);
+
throw;
}
catch (ArgumentException aex)
{
+ Logger.Error(aex);
_windowService.ShowWarning(aex.Message);
}
}
From cbf0fb161a3cea88f38bed09c060f36cac791785 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Tue, 19 Mar 2019 22:46:35 -0400
Subject: [PATCH 40/50] Add debug tracing
---
.../ViewModel/DisplayLayoutViewModel.cs | 32 ++++++++++++-------
1 file changed, 20 insertions(+), 12 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
index b3294656..25f798ac 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs
@@ -21,7 +21,7 @@
namespace InvvardDev.EZLayoutDisplay.Desktop.ViewModel
{
public class DisplayLayoutViewModel : ViewModelBase
- {
+ {
#region Fields
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
@@ -137,6 +137,7 @@ private async void LoadCompleteLayout()
}
_ezLayout = _settingsService.EZLayout;
+ Logger.Debug("EZLayout = {@value0}", _ezLayout);
_layoutTemplates = new List>();
@@ -144,7 +145,9 @@ private async void LoadCompleteLayout()
|| !_ezLayout.EZLayers.Any()
|| !_ezLayout.EZLayers.SelectMany(l => l.EZKeys).Any())
{
+ Logger.Info("No layout available");
NoLayoutAvailable = true;
+
return;
}
@@ -156,6 +159,8 @@ private async void LoadCompleteLayout()
private void LoadDesignTimeModel()
{
+ Logger.TraceMethod();
+
NoLayoutAvailable = false;
var json = Encoding.Default.GetString(Resources.layoutDefinition);
@@ -183,21 +188,16 @@ private void LoadDesignTimeModel()
CurrentLayoutTemplate[i].EZKey = new EZKey {
Label = new KeyLabel("E"),
Modifier = new KeyLabel("Left Shift"),
- KeyCategory = KeyCategory.French,
- InternationalHint = "fr"
- };
+ KeyCategory = KeyCategory.French,
+ InternationalHint = "fr"
+ };
}
}
- private async Task> LoadLayoutDefinition()
- {
- var layoutDefinition = await _layoutService.GetLayoutTemplate();
-
- return layoutDefinition;
- }
-
private async Task PopulateLayoutTemplates()
{
+ Logger.TraceMethod();
+
foreach (var t in _ezLayout.EZLayers)
{
if (!(await LoadLayoutDefinition() is List layoutTemplate)) break;
@@ -211,17 +211,25 @@ private async Task PopulateLayoutTemplates()
}
}
+ private async Task> LoadLayoutDefinition()
+ {
+ Logger.TraceMethod();
+ var layoutDefinition = await _layoutService.GetLayoutTemplate();
+
+ return layoutDefinition;
+ }
+
private void SwitchLayer()
{
Logger.TraceMethod();
Logger.Info("Switch to Layer {0} on {1}", CurrentLayerIndex, _layoutTemplates.Count - 1);
+
if (_layoutTemplates.Any())
{
CurrentLayoutTemplate = new ObservableCollection(_layoutTemplates[CurrentLayerIndex]);
}
}
-
#region Delegates
private void LoadCompleteLayout(UpdatedLayoutMessage obj)
From 3d3ede80733960f71190af4ce07e8cec86c0d228 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Thu, 21 Mar 2019 21:21:47 -0400
Subject: [PATCH 41/50] Add debugging logs
---
.../ViewModel/SettingsViewModel.cs | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
index 84494ab5..d1282c23 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/SettingsViewModel.cs
@@ -305,6 +305,9 @@ private string ExtractLayoutHashId(string layoutUrl)
{
layoutHashId = match.Groups[layoutHashIdGroupName].Value;
}
+
+ Logger.Debug("Layout URL = {0}", layoutUrl);
+ Logger.Debug("Layout Hash ID = {0}", layoutHashId);
return layoutHashId;
}
From 83292f0e5ea46c5dbb96b784206444f69735ecc9 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Thu, 21 Mar 2019 22:40:03 -0400
Subject: [PATCH 42/50] Add DebugParam extensions
---
.../Helper/LoggerHelper.cs | 27 +++++++++++++++++++
1 file changed, 27 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
index be496231..e2ad4c90 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/LoggerHelper.cs
@@ -32,6 +32,33 @@ internal static void TraceConstructor(this Logger logger,
logger.Trace(message, memberName, sourceLineNumber);
}
+ internal static void DebugInputParam(this Logger logger,
+ string parameterName,
+ object parameter,
+ string message = "[Input {method}] {parameterName} = {@parameterValue})",
+ [ CallerMemberName ] string memberName = "")
+ {
+ DebugParam(logger, parameterName, parameter, message, memberName);
+ }
+
+ internal static void DebugOutputParam(this Logger logger,
+ string parameterName,
+ object parameter,
+ string message = "[Output {method}] {parameterName} = {@parameterValue})",
+ [ CallerMemberName ] string memberName = "")
+ {
+ DebugParam(logger, parameterName, parameter, message, memberName);
+ }
+
+ private static void DebugParam(Logger logger,
+ string parameterName,
+ object parameter,
+ string message,
+ string memberName)
+ {
+ logger.Debug(message, memberName, parameterName, parameter);
+ }
+
internal static LogLevel GetLogLevel(string value)
{
LogLevel level;
From 59c8c0f47f0e806d61c12067c534f8885641caa0 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Thu, 21 Mar 2019 22:42:42 -0400
Subject: [PATCH 43/50] Add debugging logs
---
.../Helper/EZLayoutMaker.cs | 27 ++++++++++++++++---
1 file changed, 23 insertions(+), 4 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs
index 26bb4c7b..e765af2a 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs
@@ -3,11 +3,14 @@
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Dictionary;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Enum;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.Helper
{
public class EZLayoutMaker
{
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
private const string NoCommand = "KC_NO";
private const string TransparentKey = "KC_TRANSPARENT";
private const string KeyCodeOsm = "OSM";
@@ -15,11 +18,15 @@ public class EZLayoutMaker
public EZLayoutMaker()
{
+ Logger.TraceConstructor();
_keyDefinitionDictionary = new KeyDefinitionDictionary();
}
public EZLayout PrepareEZLayout(ErgodoxLayout ergodoxLayout)
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(ergodoxLayout), ergodoxLayout);
+
var ezLayout = new EZLayout {
HashId = ergodoxLayout.HashId,
Name = ergodoxLayout.Title
@@ -31,29 +38,39 @@ public EZLayout PrepareEZLayout(ErgodoxLayout ergodoxLayout)
ezLayout.EZLayers.Add(ezLayer);
}
+ Logger.DebugOutputParam(nameof(ezLayout), ezLayout);
+
return ezLayout;
}
private EZLayer PrepareEZLayer(ErgodoxLayer ergodoxLayer)
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(ergodoxLayer), ergodoxLayer);
+
var layer = new EZLayer {
Index = ergodoxLayer.Position,
Name = ergodoxLayer.Title,
Color = ergodoxLayer.Color
};
- for (var index = 0 ; index < ergodoxLayer.Keys.Count ; index++)
+ foreach (var ergodoxKey in ergodoxLayer.Keys)
{
- EZKey key = PrepareKeyLabels(ergodoxLayer.Keys[index], index);
+ EZKey key = PrepareKeyLabels(ergodoxKey);
layer.EZKeys.Add(key);
}
+ Logger.DebugOutputParam(nameof(layer), layer);
+
return layer;
}
- private EZKey PrepareKeyLabels(ErgodoxKey ergodoxKey, int keyIndex)
+ private EZKey PrepareKeyLabels(ErgodoxKey ergodoxKey)
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(ergodoxKey), ergodoxKey);
+
KeyDefinition keyDefinition = GetKeyDefinition(ergodoxKey.Code);
/** Every category has a label, so no need to make a special case :
@@ -145,6 +162,8 @@ private EZKey PrepareKeyLabels(ErgodoxKey ergodoxKey, int keyIndex)
ProcessModifiers(ergodoxKey, key);
+ Logger.DebugOutputParam(nameof(key), key);
+
return key;
}
@@ -234,7 +253,7 @@ private List GetModifiersApplied(ErgodoxModifiers ergodoxModifiers)
private string AggregateModifierLabels(List mods)
{
- var subLabel = "";
+ string subLabel;
switch (mods.Count)
{
From 23f0dba29ea8d4d20186a9e9a51c10c6d637d885 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 24 Mar 2019 17:42:43 -0400
Subject: [PATCH 44/50] Add warning on KeyCode unknown
---
.../Helper/EZLayoutMaker.cs | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs
index e765af2a..42f0fa9f 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Helper/EZLayoutMaker.cs
@@ -169,7 +169,13 @@ private EZKey PrepareKeyLabels(ErgodoxKey ergodoxKey)
private KeyDefinition GetKeyDefinition(string ergodoxKeyCode)
{
- var keyDefinition = _keyDefinitionDictionary.KeyDefinitions.FirstOrDefault(k => k.KeyCode == ergodoxKeyCode) ?? GetKeyDefinition(TransparentKey);
+ var keyDefinition = _keyDefinitionDictionary.KeyDefinitions.FirstOrDefault(k => k.KeyCode == ergodoxKeyCode);
+
+ if (keyDefinition == null)
+ {
+ Logger.Warn("Key code '{0}' unknown", ergodoxKeyCode);
+ keyDefinition = GetKeyDefinition(TransparentKey);
+ }
return keyDefinition;
}
From c23d679e9693691acae857961554544927d31151 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 24 Mar 2019 21:57:50 -0400
Subject: [PATCH 45/50] Add tracing logs
---
.../Service/Implementation/ApplicationService.cs | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/ApplicationService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/ApplicationService.cs
index 268ab7fd..2ef96a21 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/ApplicationService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/ApplicationService.cs
@@ -1,13 +1,18 @@
using System.Windows;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation
{
public class ApplicationService : IApplicationService
{
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
+
///
public void ShutdownApplication()
- {
+ {
+ Logger.TraceMethod();
Application.Current.Shutdown();
}
}
From bc69bb1f958949e6def95e71e1cd49f841d7a4cf Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 24 Mar 2019 22:28:36 -0400
Subject: [PATCH 46/50] Add logs
---
.../Implementation/KeyboardHookService.cs | 23 +++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/KeyboardHookService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/KeyboardHookService.cs
index 001276a3..0b8aa1cc 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/KeyboardHookService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/KeyboardHookService.cs
@@ -1,9 +1,11 @@
using System;
using System.Linq;
using System.Windows;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using InvvardDev.EZLayoutDisplay.Desktop.View;
+using NLog;
using NonInvasiveKeyboardHookLibrary;
namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation
@@ -14,6 +16,7 @@ public class KeyboardHookService : IKeyboardHookService
private bool disposed;
private static KeyboardHookManager _hook;
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly IWindowService _windowService;
private readonly ISettingsService _settingsService;
@@ -30,6 +33,8 @@ public class KeyboardHookService : IKeyboardHookService
public KeyboardHookService(IWindowService windowService, ISettingsService settingsService)
{
+ Logger.TraceConstructor();
+
_windowService = windowService;
_settingsService = settingsService;
@@ -38,8 +43,12 @@ public KeyboardHookService(IWindowService windowService, ISettingsService settin
private void InitKeyboardHook()
{
+ Logger.TraceMethod();
+
Hook.Start();
+ Logger.Debug("Registered hotkey {@value0}", _settingsService.HotkeyShowLayout);
+
var hotkeyShowLayout = _settingsService.HotkeyShowLayout;
switch (hotkeyShowLayout.ModifierKeys.Count)
@@ -63,11 +72,18 @@ private void InitKeyboardHook()
public void RegisterHotkey(ModifierKeys modifiers, int keyCode)
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(modifiers), modifiers);
+ Logger.DebugInputParam(nameof(keyCode), keyCode);
+
Hook.RegisterHotkey(modifiers, keyCode, DisplayLayout);
}
public void RegisterHotkey(int keyCode)
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(keyCode), keyCode);
+
Hook.RegisterHotkey(keyCode, DisplayLayout);
}
@@ -77,6 +93,9 @@ public void RegisterHotkey(int keyCode)
private static ModifierKeys SumModifiers(Hotkey hotkeyShowLayout)
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(hotkeyShowLayout), hotkeyShowLayout);
+
var sumModifierKeys = hotkeyShowLayout.ModifierKeys[0];
for (int i = 1; i < hotkeyShowLayout.ModifierKeys.Count; i++)
@@ -84,11 +103,15 @@ private static ModifierKeys SumModifiers(Hotkey hotkeyShowLayout)
sumModifierKeys = sumModifierKeys | hotkeyShowLayout.ModifierKeys[i];
}
+ Logger.DebugOutputParam(nameof(sumModifierKeys), sumModifierKeys);
+
return sumModifierKeys;
}
private void DisplayLayout()
{
+ Logger.TraceMethod();
+
Application.Current.Dispatcher.Invoke(delegate
{
_windowService.ShowWindow();
From 131fc290a94d66c9956dce17da6376e52d04602f Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Sun, 24 Mar 2019 22:30:07 -0400
Subject: [PATCH 47/50] Add Logger property
---
.../Service/Implementation/LayoutService.cs | 2 ++
.../Service/Implementation/SettingsService.cs | 2 ++
.../Service/Implementation/WindowService.cs | 2 ++
3 files changed, 6 insertions(+)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs
index 97246378..87960d30 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs
@@ -8,11 +8,13 @@
using InvvardDev.EZLayoutDisplay.Desktop.Properties;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using Newtonsoft.Json;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation
{
public class LayoutService : ILayoutService
{
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly string GetLayoutBody =
"{{\"operationName\":\"getLayout\",\"variables\":{{\"hashId\":\"{0}\"}},\"query\":\"query getLayout($hashId: String!) {{\\n Layout(hashId: $hashId) {{\\n ...LayoutData\\n }}\\n}}\\n\\nfragment LayoutData on Layout {{\\n hashId\\n title\\n revisions {{\\n hashId\\n model\\n layers {{\\n hashId\\n keys\\n position\\n title\\n color\\n }}\\n}}\\n}}\\n\"}}";
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs
index a098518a..0bb10daf 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs
@@ -5,6 +5,7 @@
using InvvardDev.EZLayoutDisplay.Desktop.Properties;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using Newtonsoft.Json;
+using NLog;
using ModifierKeys = NonInvasiveKeyboardHookLibrary.ModifierKeys;
namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation
@@ -19,6 +20,7 @@ public class SettingsService : ISettingsService
#region Fields
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly Settings _settings;
#endregion
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs
index 7a87bcee..0ec2eda9 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs
@@ -1,11 +1,13 @@
using System.Collections.Generic;
using System.Windows;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
+using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation
{
public class WindowService: IWindowService
{
+ private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly Dictionary _windows;
public WindowService()
From 1bd9f10bcb0b24fed32f90cd3edeec84506e3298 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 25 Mar 2019 13:02:25 -0400
Subject: [PATCH 48/50] Add logs
---
.../Service/Implementation/LayoutService.cs | 31 +++++++++++++++++--
1 file changed, 28 insertions(+), 3 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs
index 87960d30..f0c2ea4b 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/LayoutService.cs
@@ -25,19 +25,36 @@ public class LayoutService : ILayoutService
///
public async Task GetErgodoxLayout(string layoutHashId)
{
- if (string.IsNullOrWhiteSpace(layoutHashId)) { throw new ArgumentNullException(nameof(layoutHashId), "Layout hash ID was not found."); }
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(layoutHashId), layoutHashId);
+
+ if (string.IsNullOrWhiteSpace(layoutHashId))
+ {
+ Logger.Error("Layout {0} was not found", layoutHashId);
+ throw new ArgumentNullException(nameof(layoutHashId), $"Layout hash ID \"{layoutHashId}\" was not found.");
+ }
DataRoot layout;
using (HttpClient client = new HttpClient())
{
var body = string.Format(GetLayoutBody, layoutHashId);
+ Logger.Debug("Request body : {@body}", body);
+
var response = await client.PostAsync(GetLayoutRequestUri, new StringContent(body, Encoding.UTF8, "application/json"));
+ Logger.Debug("Response : {@response}", response);
+
var result = await response.Content.ReadAsStringAsync();
+ Logger.Debug("Content result : {@result}", result);
layout = JsonConvert.DeserializeObject(result);
+ Logger.Debug("Deserialized layout : {@layout}", layout);
- if (layout?.LayoutRoot?.Layout == null) { throw new ArgumentException(layoutHashId, $"Hash ID \"{layoutHashId}\" does not exist"); }
+ if (layout?.LayoutRoot?.Layout == null)
+ {
+ Logger.Error("Layout {0} does not exist", layoutHashId);
+ throw new ArgumentException(layoutHashId, $"Hash ID \"{layoutHashId}\" does not exist");
+ }
}
return layout.LayoutRoot.Layout;
@@ -46,6 +63,8 @@ public async Task GetErgodoxLayout(string layoutHashId)
///
public EZLayout PrepareEZLayout(ErgodoxLayout ergodoxLayout)
{
+ Logger.TraceMethod();
+
var ezLayoutMaker = new EZLayoutMaker();
EZLayout ezLayout = ezLayoutMaker.PrepareEZLayout(ergodoxLayout);
@@ -55,6 +74,8 @@ public EZLayout PrepareEZLayout(ErgodoxLayout ergodoxLayout)
///
public async Task> GetLayoutTemplate()
{
+ Logger.TraceMethod();
+
IEnumerable layoutTemplate = await ReadLayoutDefinition();
return layoutTemplate;
@@ -66,9 +87,11 @@ public async Task> GetLayoutTemplate()
private async Task> ReadLayoutDefinition()
{
+ Logger.TraceMethod();
+
if (Resources.layoutDefinition.Length <= 0)
{
- // TODO : add logging
+ Logger.Warn("Layout definition is empty");
return new List();
}
@@ -80,6 +103,8 @@ private async Task> ReadLayoutDefinition()
return layoutDefinition;
});
+ Logger.DebugOutputParam(nameof(layoutTemplate), layoutTemplate);
+
return layoutTemplate;
}
From 4d9f6645d6f3a6a78e7c38b2228c4bc3f598927a Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 25 Mar 2019 21:29:11 -0400
Subject: [PATCH 49/50] Add logging to SettingsService
---
.../Service/Implementation/SettingsService.cs | 68 ++++++++++++++++---
1 file changed, 59 insertions(+), 9 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs
index 0bb10daf..3bfa88bc 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/SettingsService.cs
@@ -1,5 +1,6 @@
using System;
using System.Windows.Forms;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Model;
using InvvardDev.EZLayoutDisplay.Desktop.Model.Enum;
using InvvardDev.EZLayoutDisplay.Desktop.Properties;
@@ -29,16 +30,14 @@ public class SettingsService : ISettingsService
public SettingsService(Settings settings)
{
+ Logger.TraceConstructor();
+
_settings = settings;
_defaultHotkey = new Hotkey(Keys.Space, ModifierKeys.Alt, ModifierKeys.Control, ModifierKeys.Shift, ModifierKeys.WindowsKey);
}
#endregion
- #region Private methods
-
- #endregion
-
#region ISettingService implementation
#region Properties
@@ -48,22 +47,34 @@ public Hotkey HotkeyShowLayout
{
get
{
+ Logger.TraceMethod();
Hotkey hotkey;
try
{
var setting = (string) _settings[SettingsName.HotkeyShowLayout];
+ Logger.Debug("SettingsName.HotkeyShowLayout value = '{setting}'", setting);
hotkey = string.IsNullOrWhiteSpace(setting)
? _defaultHotkey
: JsonConvert.DeserializeObject(setting);
+ Logger.Debug("Loaded hotkey = {@hotkey}", hotkey);
+ }
+ catch (Exception ex)
+ {
+ Logger.Error(ex, "Exception catched in '{0}' getter :\n", nameof(HotkeyShowLayout));
+ hotkey = _defaultHotkey;
}
- catch (Exception) { hotkey = _defaultHotkey; }
+
+ Logger.DebugOutputParam(nameof(hotkey), hotkey);
return hotkey;
}
set
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(HotkeyShowLayout), value);
+
var setting = JsonConvert.SerializeObject(value);
_settings[SettingsName.HotkeyShowLayout] = setting;
}
@@ -72,8 +83,22 @@ public Hotkey HotkeyShowLayout
///
public string ErgodoxLayoutUrl
{
- get => (string) _settings[SettingsName.ErgodoxLayoutUrl];
- set => _settings[SettingsName.ErgodoxLayoutUrl] = value;
+ get
+ {
+ Logger.TraceMethod();
+
+ var url = (string) _settings[SettingsName.ErgodoxLayoutUrl];
+ Logger.DebugOutputParam(nameof(ErgodoxLayoutUrl), url);
+
+ return url;
+ }
+ set
+ {
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(ErgodoxLayoutUrl), value);
+
+ _settings[SettingsName.ErgodoxLayoutUrl] = value;
+ }
}
///
@@ -81,16 +106,35 @@ public EZLayout EZLayout
{
get
{
- var setting = (string) _settings[SettingsName.EZLayout];
- var ezLayout = string.IsNullOrWhiteSpace(setting)
+ Logger.TraceMethod();
+ EZLayout ezLayout;
+
+ try
+ {
+ var setting = (string) _settings[SettingsName.EZLayout];
+ Logger.Debug("SettingsName.EZLayout value = '{setting}'", setting);
+
+ ezLayout = string.IsNullOrWhiteSpace(setting)
? new EZLayout()
: JsonConvert.DeserializeObject(setting);
+ Logger.Debug("Loaded Layout = {@ezLayout}", ezLayout);
+ }
+ catch (Exception ex)
+ {
+ Logger.Error(ex, "Exception catched in '{0}' getter :\n", nameof(EZLayout));
+ ezLayout = new EZLayout();
+ }
+
+ Logger.DebugOutputParam(nameof(EZLayout), ezLayout);
return ezLayout;
}
set
{
+ Logger.TraceMethod();
+ Logger.DebugInputParam(nameof(EZLayout), value);
+
var setting = JsonConvert.SerializeObject(value);
_settings[SettingsName.EZLayout] = setting;
}
@@ -101,15 +145,21 @@ public EZLayout EZLayout
///
public void Save()
{
+ Logger.TraceMethod();
_settings.Save();
}
///
public void Cancel()
{
+ Logger.TraceMethod();
_settings.Reload();
}
#endregion
+
+ #region Private methods
+
+ #endregion
}
}
\ No newline at end of file
From 061e112a0775278d011f135b2f93cc083dff7943 Mon Sep 17 00:00:00 2001
From: Invvard <7305493+Invvard@users.noreply.github.com>
Date: Mon, 25 Mar 2019 21:43:53 -0400
Subject: [PATCH 50/50] Add logging to WindowService
---
.../Service/Implementation/WindowService.cs | 31 +++++++++++++++++--
1 file changed, 29 insertions(+), 2 deletions(-)
diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs
index 0ec2eda9..d471ce90 100644
--- a/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs
+++ b/src/InvvardDev.EZLayoutDisplay.Desktop/Service/Implementation/WindowService.cs
@@ -1,17 +1,19 @@
using System.Collections.Generic;
using System.Windows;
+using InvvardDev.EZLayoutDisplay.Desktop.Helper;
using InvvardDev.EZLayoutDisplay.Desktop.Service.Interface;
using NLog;
namespace InvvardDev.EZLayoutDisplay.Desktop.Service.Implementation
{
- public class WindowService: IWindowService
+ public class WindowService : IWindowService
{
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
private readonly Dictionary _windows;
public WindowService()
{
+ Logger.TraceConstructor();
_windows = new Dictionary();
}
@@ -20,9 +22,17 @@ public WindowService()
public void ShowWindow()
where T : Window, new()
{
+ Logger.TraceMethod();
+ Logger.Info("Opening {windowType} window", typeof(T));
+
var windowKey = typeof(T).ToString();
+
+ Logger.Debug("Windows opened list : {@windows}", _windows);
+
if (!_windows.ContainsKey(windowKey))
{
+ Logger.Debug("{windowType} window added", typeof(T));
+
_windows.Add(windowKey, new T());
_windows[windowKey].Closing += WindowService_Closing;
}
@@ -33,18 +43,26 @@ public void ShowWindow()
public void CloseWindow()
{
+ Logger.TraceMethod();
+ Logger.Info("Closing {windowType} window", typeof(T));
+
var windowKey = typeof(T).ToString();
if (_windows.ContainsKey(windowKey))
{
+ Logger.Debug("{windowType} window is going to be closed", typeof(T));
_windows[windowKey].Close();
}
}
public bool ShowWarning(string warningMessage)
{
+ Logger.TraceMethod();
+
var result = MessageBox.Show(warningMessage, "Warning", MessageBoxButton.OK, MessageBoxImage.Warning) == MessageBoxResult.OK;
+ Logger.DebugOutputParam(nameof(result), result);
+
return result;
}
@@ -52,9 +70,18 @@ public bool ShowWarning(string warningMessage)
private void WindowService_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
+ Logger.TraceMethod();
+
var windowKey = sender.GetType().ToString();
+ Logger.Debug("Window {window} is closing", windowKey);
+
+ if (_windows.ContainsKey(windowKey))
+ {
+ Logger.Debug("Finalizing {windowType} window close", windowKey);
- if (_windows.ContainsKey(windowKey)) { _windows.Remove(windowKey); }
+ _windows[windowKey].Closing -= WindowService_Closing;
+ _windows.Remove(windowKey);
+ }
}
}
}
\ No newline at end of file