diff --git a/MessagingService.Client/MessagingService.Client.csproj b/MessagingService.Client/MessagingService.Client.csproj
index a7d1b9d..c4621b8 100644
--- a/MessagingService.Client/MessagingService.Client.csproj
+++ b/MessagingService.Client/MessagingService.Client.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj b/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj
index cc596e9..53d2d1a 100644
--- a/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj
+++ b/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj b/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj
index f4bfe4e..7a3cc53 100644
--- a/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj
+++ b/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj
@@ -5,8 +5,8 @@
-
-
+
+
diff --git a/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj b/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj
index a5253ad..ad8657c 100644
--- a/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj
+++ b/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj
@@ -6,8 +6,8 @@
-
-
+
+
diff --git a/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj b/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj
index 891daf6..cefc5c6 100644
--- a/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj
+++ b/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj
@@ -7,7 +7,7 @@
-
+
diff --git a/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj b/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj
index 5a268df..9f564e0 100644
--- a/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj
+++ b/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj
@@ -6,7 +6,7 @@
-
+
@@ -14,9 +14,9 @@
-
-
-
+
+
+
all
diff --git a/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj b/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj
index e687bce..86b821b 100644
--- a/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj
+++ b/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj
@@ -5,7 +5,7 @@
-
+
diff --git a/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj b/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj
index e2f7862..f90bf0c 100644
--- a/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj
+++ b/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj
@@ -6,7 +6,7 @@
-
+
diff --git a/MessagingService/Bootstrapper/DomainEventHandlerRegistry.cs b/MessagingService/Bootstrapper/DomainEventHandlerRegistry.cs
index 28bc6e8..d0ac1d0 100644
--- a/MessagingService/Bootstrapper/DomainEventHandlerRegistry.cs
+++ b/MessagingService/Bootstrapper/DomainEventHandlerRegistry.cs
@@ -7,6 +7,8 @@
using Lamar;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
+using Shared.DomainDrivenDesign.EventSourcing;
+using Shared.EventStore.Aggregate;
using Shared.EventStore.EventHandling;
[ExcludeFromCodeCoverage]
@@ -37,5 +39,6 @@ public DomainEventHandlerRegistry()
this.For().Use().Named("Main")
.Ctor>().Is(eventHandlersConfiguration).Singleton();
+ this.AddSingleton, DomainEventFactory>();
}
}
\ No newline at end of file
diff --git a/MessagingService/Bootstrapper/MiddlewareRegistry.cs b/MessagingService/Bootstrapper/MiddlewareRegistry.cs
index 1f2d8ee..c53a164 100644
--- a/MessagingService/Bootstrapper/MiddlewareRegistry.cs
+++ b/MessagingService/Bootstrapper/MiddlewareRegistry.cs
@@ -1,4 +1,6 @@
-namespace MessagingService.Bootstrapper
+using Microsoft.Extensions.Logging;
+
+namespace MessagingService.Bootstrapper
{
using System;
using System.IO;
@@ -23,6 +25,7 @@
using System.Linq;
using System.Diagnostics.CodeAnalysis;
using Microsoft.Extensions.Configuration;
+ using Shared.Middleware;
[ExcludeFromCodeCoverage]
public class MiddlewareRegistry : ServiceRegistry
@@ -104,6 +107,37 @@ public MiddlewareRegistry() {
Assembly assembly = this.GetType().GetTypeInfo().Assembly;
this.AddMvcCore().AddApplicationPart(assembly).AddControllersAsServices();
+
+ bool logRequests = ConfigurationReaderExtensions.GetValueOrDefault("MiddlewareLogging", "LogRequests", true);
+ bool logResponses = ConfigurationReaderExtensions.GetValueOrDefault("MiddlewareLogging", "LogResponses", true);
+ LogLevel middlewareLogLevel = ConfigurationReaderExtensions.GetValueOrDefault("MiddlewareLogging", "MiddlewareLogLevel", LogLevel.Warning);
+
+ RequestResponseMiddlewareLoggingConfig config =
+ new RequestResponseMiddlewareLoggingConfig(middlewareLogLevel, logRequests, logResponses);
+
+ this.AddSingleton(config);
+ }
+ }
+
+ public static class ConfigurationReaderExtensions
+ {
+ public static T GetValueOrDefault(String sectionName, String keyName, T defaultValue)
+ {
+ try
+ {
+ var value = ConfigurationReader.GetValue(sectionName, keyName);
+
+ if (String.IsNullOrEmpty(value))
+ {
+ return defaultValue;
+ }
+
+ return (T)Convert.ChangeType(value, typeof(T));
+ }
+ catch (KeyNotFoundException kex)
+ {
+ return defaultValue;
+ }
}
}
}
diff --git a/MessagingService/Common/Extensions.cs b/MessagingService/Common/Extensions.cs
index 4a81ce1..a323e57 100644
--- a/MessagingService/Common/Extensions.cs
+++ b/MessagingService/Common/Extensions.cs
@@ -67,10 +67,8 @@ public static void PreWarm(this IApplicationBuilder applicationBuilder)
EventStoreClientSettings eventStoreConnectionSettings = EventStoreClientSettings.Create(connectionString);
applicationBuilder.ConfigureSubscriptionService(subscriptionWorkersRoot,
eventStoreConnectionString,
- eventStoreConnectionSettings,
eventHandlerResolvers,
Extensions.log,
- subscriptionRepositoryResolver,
- CancellationToken.None).Wait(CancellationToken.None);
+ subscriptionRepositoryResolver).Wait(CancellationToken.None);
}
}
\ No newline at end of file
diff --git a/MessagingService/MessagingService.csproj b/MessagingService/MessagingService.csproj
index 0829162..07d099b 100644
--- a/MessagingService/MessagingService.csproj
+++ b/MessagingService/MessagingService.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/MessagingService/Startup.cs b/MessagingService/Startup.cs
index 8797d24..c5b6b0c 100644
--- a/MessagingService/Startup.cs
+++ b/MessagingService/Startup.cs
@@ -72,6 +72,12 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerF
if (env.IsDevelopment())
{
+ var developmentNlogConfigFilename = "nlog.development.config";
+ if (File.Exists(Path.Combine(env.ContentRootPath, developmentNlogConfigFilename)))
+ {
+ nlogConfigFilename = developmentNlogConfigFilename;
+ }
+
app.UseDeveloperExceptionPage();
}
@@ -81,12 +87,7 @@ public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerF
Microsoft.Extensions.Logging.ILogger logger = loggerFactory.CreateLogger("MessagingService");
Logger.Initialise(logger);
-
- Action loggerAction = message =>
- {
- Logger.LogInformation(message);
- };
- Startup.Configuration.LogConfiguration(loggerAction);
+ Startup.Configuration.LogConfiguration(Logger.LogWarning);
foreach (KeyValuePair type in TypeMap.Map)
{
diff --git a/MessagingService/nlog.config b/MessagingService/nlog.config
index 78fe974..d45c238 100644
--- a/MessagingService/nlog.config
+++ b/MessagingService/nlog.config
@@ -22,14 +22,23 @@
+
+
-
-
+
+
-
+