Skip to content

Commit 118c22c

Browse files
Merge pull request #95 from TransactionProcessing/task/logconfigvaluesextension
Further logging formatting
2 parents aa41513 + 2129e54 commit 118c22c

2 files changed

Lines changed: 29 additions & 16 deletions

File tree

Shared.Tests/ConfigurationRootExtensionsTests.cs

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33
using System;
44
using System.Collections.Generic;
55
using System.Linq;
6+
using Castle.Components.DictionaryAdapter;
67
using Extensions;
78
using Microsoft.Extensions.Configuration;
89
using Microsoft.Extensions.Hosting;
910
using Microsoft.Extensions.Hosting.Internal;
1011
using Microsoft.Extensions.Logging;
12+
using Newtonsoft.Json;
1113
using Shouldly;
1214
using Xunit;
1315

@@ -25,16 +27,19 @@ public class ConfigurationRootExtensionsTests
2527
/// The default application settings.
2628
/// </value>
2729
public static IReadOnlyDictionary<String, String> DefaultAppSettings { get; } = new Dictionary<String, String>
28-
{
29-
["AppSettings:Test"] = "",
30-
["AppSettings:Test1"] = null,
31-
["AppSettings:ClientId"] = "clientId",
32-
["AppSettings:ClientSecret"] = "Secret1",
33-
["EventStoreSettings:ConnectionString"] = "https://192.168.1.133:2113",
34-
["ConnectionStrings:HealthCheck"] =
35-
"server=192.168.1.133;database=master;user id=sa;password=Sc0tland"
36-
};
37-
30+
{
31+
["AppSettings:Test"] = "",
32+
["AppSettings:ClientId"] = "clientId",
33+
["AppSettings:ClientSecret"] = "Secret1",
34+
["EventStoreSettings:ConnectionString"] = "https://192.168.1.133:2113",
35+
["ConnectionStrings:HealthCheck"] =
36+
"server=192.168.1.133;database=master;user id=sa;password=Sc0tland",
37+
["AppSettings:EventHandlerConfiguration:ResponseReceivedFromEmailProviderEvent:0"] =
38+
"MessagingService.BusinessLogic.EventHandling.EmailDomainEventHandler, MessagingService.BusinessLogic",
39+
["AppSettings:EventHandlerConfiguration:ResponseReceivedFromSMSProviderEvent:0"] =
40+
"MessagingService.BusinessLogic.EventHandling.SMSDomainEventHandler, MessagingService.BusinessLogic"
41+
};
42+
3843
#endregion
3944

4045
#region Methods
@@ -45,7 +50,7 @@ public class ConfigurationRootExtensionsTests
4550
[Fact]
4651
public void ConfigurationRootExtensions_LogConfiguration_ConfigurationIsLogged()
4752
{
48-
IConfigurationBuilder builder = new ConfigurationBuilder().AddInMemoryCollection(ConfigurationRootExtensionsTests.DefaultAppSettings).AddEnvironmentVariables();
53+
IConfigurationBuilder builder = new ConfigurationBuilder().AddInMemoryCollection(ConfigurationRootExtensionsTests.DefaultAppSettings).AddEnvironmentVariables();
4954

5055
IConfigurationRoot configuration = builder.Build();
5156

@@ -55,9 +60,9 @@ public void ConfigurationRootExtensions_LogConfiguration_ConfigurationIsLogged()
5560
configuration.LogConfiguration(loggerAction);
5661

5762
String[] loggedEntries = testLogger.GetLogEntries();
58-
Int32 expectedCount = ConfigurationRootExtensionsTests.DefaultAppSettings.Count + 6; // 3 blank lines & 3 headers
63+
Int32 expectedCount = ConfigurationRootExtensionsTests.DefaultAppSettings.Count + 7; // 3 blank lines & 4 headers
5964
loggedEntries.Length.ShouldBe(expectedCount);
60-
loggedEntries.Where(l => l.Contains("No Value")).Count().ShouldBe(2);
65+
loggedEntries.Where(l => l.Contains("No Value")).Count().ShouldBe(1);
6166
}
6267

6368
/// <summary>

Shared/Extensions/ConfigurationRootExtensions.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using System;
44
using System.Collections.Generic;
55
using System.Linq;
6+
using System.Text;
67
using General;
78
using Microsoft.Extensions.Configuration;
89
using Microsoft.Extensions.Hosting.Internal;
@@ -44,13 +45,20 @@ private static void LogConfigurationSettings(IConfigurationSection configSection
4445
loggerAction($"Configuration Section: {configSection.Key}");
4546
foreach (IConfigurationSection c in children)
4647
{
47-
if (String.IsNullOrEmpty(c.Value))
48+
if (c.Value == null)
4849
{
49-
loggerAction($"Key: {c.Key} Value: No Value");
50+
IEnumerable<KeyValuePair<String, String>> g = c.AsEnumerable().Where(k => k.Value!= null);
51+
String stringToRemoveFromKey = $"{configSection.Key}:{c.Key}:";
52+
loggerAction($"\tConfiguration Section: {configSection.Key}:{c.Key}");
53+
foreach (KeyValuePair<String, String> keyValuePair in g)
54+
{
55+
loggerAction($"\t\tKey: {keyValuePair.Key.Replace(stringToRemoveFromKey,"")} Value: {keyValuePair.Value}");
56+
}
57+
5058
}
5159
else
5260
{
53-
loggerAction($"Key: {c.Key} Value: {c.Value}");
61+
loggerAction($"\tKey: {c.Key} Value: {(c.Value == String.Empty? "No Value" : c.Value)}");
5462
}
5563

5664
}

0 commit comments

Comments
 (0)