diff --git a/Directory.Packages.props b/Directory.Packages.props index 00179ef..0bac94a 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -3,52 +3,52 @@ true - - - - - - - + + + + + + + - + - - - + + + - - + + - + - + - + - - + + - - - - + + + + - + - + \ No newline at end of file diff --git a/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs b/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs index be60817..d8914bb 100644 --- a/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs +++ b/EstateReportingAPI.IntegrationTests/CustomWebApplicationFactory.cs @@ -114,8 +114,8 @@ public TestAuthHandler( IOptionsMonitor options, ILoggerFactory logger, UrlEncoder encoder, - ISystemClock clock) : base(options, logger, encoder, clock) - { + TimeProvider clock) : base(options, logger, encoder) { + _defaultUserId = options.CurrentValue.DefaultUserId; _defaultEstateId = options.CurrentValue.DefaultEstateId; } diff --git a/EstateReportingAPI.IntegrationTests/DatabaseHelper.cs b/EstateReportingAPI.IntegrationTests/DatabaseHelper.cs index 8e6dc66..6307f96 100644 --- a/EstateReportingAPI.IntegrationTests/DatabaseHelper.cs +++ b/EstateReportingAPI.IntegrationTests/DatabaseHelper.cs @@ -926,12 +926,12 @@ public async Task CreateStoredProcedures(CancellationToken cancellationToken) } directiories = directiories.OrderBy(d => d).ToArray(); - foreach (String directiory in directiories) + foreach (String directory in directiories) { - String[] sqlFiles = Directory.GetFiles(directiory, "*.sql"); + String[] sqlFiles = Directory.GetFiles(directory, "*.sql"); foreach (String sqlFile in sqlFiles.OrderBy(x => x)) { - Logger.LogDebug($"About to create Stored Procedure [{sqlFile}]"); + Logger.LogDebug("About to create Stored Procedure [{sqlFile}]", sqlFile); String sql = System.IO.File.ReadAllText(sqlFile); // Check here is we need to replace a Database Name @@ -943,7 +943,7 @@ public async Task CreateStoredProcedures(CancellationToken cancellationToken) // Create the new view using the original sql from file await this.Context.Database.ExecuteSqlRawAsync(sql, cancellationToken); - Logger.LogDebug($"Created Stored Procedure [{sqlFile}] successfully."); + Logger.LogDebug("Created Stored Procedure [{sqlFile}] successfully.", sqlFile); } } } diff --git a/EstateReportingAPI.IntegrationTests/IntegrationTestEnvironment.cs b/EstateReportingAPI.IntegrationTests/IntegrationTestEnvironment.cs index 933b9a5..cc87a1c 100644 --- a/EstateReportingAPI.IntegrationTests/IntegrationTestEnvironment.cs +++ b/EstateReportingAPI.IntegrationTests/IntegrationTestEnvironment.cs @@ -46,7 +46,8 @@ public static async Task GetAsync() NlogLogger logger = new(); logger.Initialise(LogManager.GetLogger(ScenarioName), ScenarioName); - LogManager.AddHiddenAssembly(typeof(NlogLogger).Assembly); + LogManager.Setup().SetupLogFactory(setup => + setup.AddCallSiteHiddenAssembly(typeof(NlogLogger).Assembly)); TestDockerHelper dockerHelper = new(); dockerHelper.Logger = logger; diff --git a/EstateReportingAPI/Bootstrapper/SharedLibraryCompatibility.cs b/EstateReportingAPI/Bootstrapper/SharedLibraryCompatibility.cs deleted file mode 100644 index 697e35f..0000000 --- a/EstateReportingAPI/Bootstrapper/SharedLibraryCompatibility.cs +++ /dev/null @@ -1,21 +0,0 @@ -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Logging; - -namespace EstateReportingAPI.Bootstrapper; - -/// -/// Initializes legacy shared-library static APIs that are still used by shared middleware. -/// Remove this adapter when Shared exposes instance-based configuration and logging APIs. -/// -internal static class SharedLibraryCompatibility -{ - public static void InitializeConfiguration(IConfigurationRoot configuration) - { - Shared.General.ConfigurationReader.Initialise(configuration); - } - - public static void InitializeLogging(ILogger logger) - { - Shared.Logger.Logger.Initialise(logger); - } -} diff --git a/EstateReportingAPI/Program.cs b/EstateReportingAPI/Program.cs index 9557691..496d865 100644 --- a/EstateReportingAPI/Program.cs +++ b/EstateReportingAPI/Program.cs @@ -74,25 +74,24 @@ private static void ConfigureHost(WebApplicationBuilder builder) ["HealthMonitoring:Service:Version"] = Assembly.GetEntryAssembly()?.GetName().Version?.ToString() ?? "0.0.0.0" }); - IConfiguration configuration = builder.Configuration; - SharedLibraryCompatibility.InitializeConfiguration((IConfigurationRoot)builder.Configuration); - if (configuration.GetSection("SentryConfiguration").Exists() && !builder.Environment.IsDevelopment()) + Shared.General.ConfigurationReader.Initialise(builder.Configuration); + if (builder.Configuration.GetSection("SentryConfiguration").Exists() && !builder.Environment.IsDevelopment()) { builder.WebHost.UseSentry(options => { - options.Dsn = configuration["SentryConfiguration:Dsn"]; + options.Dsn = builder.Configuration["SentryConfiguration:Dsn"]; options.SendDefaultPii = true; options.MaxRequestBodySize = RequestSize.Always; - options.CaptureBlockingCalls = configuration.GetValue("SentryConfiguration:CaptureBlockingCalls", false); - options.IncludeActivityData = configuration.GetValue("SentryConfiguration:IncludeActivityData", false); + options.CaptureBlockingCalls = builder.Configuration.GetValue("SentryConfiguration:CaptureBlockingCalls", false); + options.IncludeActivityData = builder.Configuration.GetValue("SentryConfiguration:IncludeActivityData", false); options.Release = Assembly.GetExecutingAssembly().GetName().Version?.ToString() ?? "unknown"; }); } builder.Host.UseLamar((context, services) => { - services.IncludeRegistry(new MiddlewareRegistry(configuration, context.HostingEnvironment)); - services.IncludeRegistry(new RepositoryRegistry(configuration, context.HostingEnvironment)); - services.IncludeRegistry(new MediatorRegistry(configuration)); + services.IncludeRegistry(new MiddlewareRegistry(builder.Configuration, context.HostingEnvironment)); + services.IncludeRegistry(new RepositoryRegistry(builder.Configuration, context.HostingEnvironment)); + services.IncludeRegistry(new MediatorRegistry(builder.Configuration)); services.IncludeRegistry(new SerialiserRegistry()); }); } @@ -103,10 +102,13 @@ private static void ConfigurePipeline(WebApplication app) { app.UseDeveloperExceptionPage(); } - - ILogger logger = app.Services.GetRequiredService().CreateLogger("EstateManagement"); - SharedLibraryCompatibility.InitializeLogging(logger); - ((IConfigurationRoot)app.Configuration).LogConfiguration(message => logger.LogWarning("{ConfigurationMessage}", message)); + + LogManager.Setup().LoadConfigurationFromFile("NLog.config"); + NLog.Logger logger = LogManager.GetLogger("EstateReporting"); + Shared.Logger.Logger.Initialise(logger, "EstateReporting"); + + IConfigurationRoot appConfiguration = (IConfigurationRoot)app.Configuration; + appConfiguration.LogConfiguration(Shared.Logger.Logger.LogWarning); app.UseMiddleware(); app.AddRequestResponseLogging(); diff --git a/EstateReportingAPI/nlog.config b/EstateReportingAPI/nlog.config index 67b5f48..11faa0b 100644 --- a/EstateReportingAPI/nlog.config +++ b/EstateReportingAPI/nlog.config @@ -3,21 +3,21 @@ - + maxArchiveFiles="2"> + + + + + + + @@ -32,15 +32,7 @@ - - - - - - - - - - + +