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