Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions Applications/AdminApi/src/AdminApi/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -31,33 +31,29 @@
using InfrastructureConfiguration = Backbone.Modules.Devices.Infrastructure.InfrastructureConfiguration;
using LogHelper = Backbone.BuildingBlocks.API.Logging.LogHelper;

Log.Logger = new LoggerConfiguration()
using var startupLogger = new LoggerConfiguration()
.WriteTo.Console()
.CreateBootstrapLogger();
.CreateLogger();

try
{
Log.Information("Creating app...");
startupLogger.Information("Creating app...");

var app = CreateApp(args);

Log.Information("App created.");
app.Logger.LogInformation("App created.");

Log.Information("Starting app...");
app.Logger.LogInformation("Starting app...");

app.Run();

return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
startupLogger.Fatal(ex, "Host terminated unexpectedly");
return 1;
}
finally
{
Log.CloseAndFlush();
}

static WebApplication CreateApp(string[] args)
{
Expand All @@ -80,7 +76,7 @@ static WebApplication CreateApp(string[] args)
.WithDefaultDestructurers()
.WithDestructurers([new DbUpdateExceptionDestructurer()]))
.Enrich.WithSensitiveDataMasking(options => options.AddSensitiveDataMasks()),
writeToProviders: true)
preserveStaticLogger: true, writeToProviders: true)
.UseServiceProviderFactory(new AutofacServiceProviderFactory());

ConfigureServices(builder.Services, builder.Configuration, builder.Environment);
Expand Down Expand Up @@ -144,11 +140,15 @@ static void LoadConfiguration(WebApplicationBuilder webApplicationBuilder, strin
{
webApplicationBuilder.Configuration.Sources.Clear();
var env = webApplicationBuilder.Environment;
var additionalConfigurationFile = Environment.GetEnvironmentVariable("BACKBONE_ADDITIONAL_CONFIGURATION_FILE");

webApplicationBuilder.Configuration
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false)
.AddJsonFile("appsettings.override.json", optional: true, reloadOnChange: false);

if (!string.IsNullOrWhiteSpace(additionalConfigurationFile))
webApplicationBuilder.Configuration.AddJsonFile(additionalConfigurationFile, optional: false, reloadOnChange: false);

webApplicationBuilder.Configuration.AddEnvironmentVariables();
webApplicationBuilder.Configuration.AddCommandLine(strings);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
using Backbone.Tooling.Extensions;
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;

namespace Backbone.AdminApi.Tests.Integration;

internal class CustomWebApplicationFactory : WebApplicationFactory<Program>
{
protected override IHost CreateHost(IHostBuilder builder)
public CustomWebApplicationFactory()
{
builder.ConfigureHostConfiguration(config =>
{
if (Environment.GetEnvironmentVariable("CI").IsNullOrEmpty())
config.AddJsonFile("api.appsettings.local.override.json");
});

return base.CreateHost(builder);
if (Environment.GetEnvironmentVariable("CI").IsNullOrEmpty())
Environment.SetEnvironmentVariable(
"BACKBONE_ADDITIONAL_CONFIGURATION_FILE",
Path.Combine(AppContext.BaseDirectory, "api.appsettings.local.override.json"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ public static IServiceCollection CreateServices()
config.GetSection("AdminApi:Http").Bind(options)
);

services.AddSingleton(new HttpClientFactory(new CustomWebApplicationFactory()));
services.AddSingleton<CustomWebApplicationFactory>();
services.AddSingleton(sp => new HttpClientFactory(sp.GetRequiredService<CustomWebApplicationFactory>()));

return services;
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{
"Infrastructure": {
"EventBus": {
"ConnectionInfo": "localhost"
"RabbitMQ": {
"HostName": "localhost"
}
},
"SqlDatabase": {
"Provider": "Postgres",
Expand Down
22 changes: 11 additions & 11 deletions Applications/ConsumerApi/src/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,33 +44,29 @@
using InfrastructureConfiguration = Backbone.Modules.Quotas.Infrastructure.InfrastructureConfiguration;
using LogHelper = Backbone.BuildingBlocks.API.Logging.LogHelper;

Log.Logger = new LoggerConfiguration()
using var startupLogger = new LoggerConfiguration()
.WriteTo.Console()
.CreateBootstrapLogger();
.CreateLogger();

try
{
Log.Information("Creating app...");
startupLogger.Information("Creating app...");

var app = CreateApp(args);

Log.Information("App created.");
app.Logger.LogInformation("App created.");

Log.Information("Starting app...");
app.Logger.LogInformation("Starting app...");

app.Run();

return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
startupLogger.Fatal(ex, "Host terminated unexpectedly");
return 1;
}
finally
{
Log.CloseAndFlush();
}

static WebApplication CreateApp(string[] args)
{
Expand All @@ -93,7 +89,7 @@ static WebApplication CreateApp(string[] args)
.WithDefaultDestructurers()
.WithDestructurers([new DbUpdateExceptionDestructurer()]))
.Enrich.WithSensitiveDataMasking(options => options.AddSensitiveDataMasks()),
writeToProviders: true)
preserveStaticLogger: true, writeToProviders: true)
.UseServiceProviderFactory(new AutofacServiceProviderFactory());

ConfigureServices(builder.Services, builder.Configuration, builder.Environment);
Expand Down Expand Up @@ -235,11 +231,15 @@ static void LoadConfiguration(WebApplicationBuilder webApplicationBuilder, strin
{
webApplicationBuilder.Configuration.Sources.Clear();
var env = webApplicationBuilder.Environment;
var additionalConfigurationFile = Environment.GetEnvironmentVariable("BACKBONE_ADDITIONAL_CONFIGURATION_FILE");

webApplicationBuilder.Configuration
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: false)
.AddJsonFile("appsettings.override.json", optional: true, reloadOnChange: false);

if (!string.IsNullOrWhiteSpace(additionalConfigurationFile))
webApplicationBuilder.Configuration.AddJsonFile(additionalConfigurationFile, optional: false, reloadOnChange: false);

webApplicationBuilder.Configuration.AddEnvironmentVariables();
webApplicationBuilder.Configuration.AddCommandLine(strings);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,20 +1,15 @@
using Backbone.Tooling.Extensions;
using Microsoft.AspNetCore.Mvc.Testing;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;

namespace Backbone.ConsumerApi.Tests.Integration;

internal class CustomWebApplicationFactory : WebApplicationFactory<Program>
{
protected override IHost CreateHost(IHostBuilder builder)
public CustomWebApplicationFactory()
{
builder.ConfigureHostConfiguration(config =>
{
if (Environment.GetEnvironmentVariable("CI").IsNullOrEmpty())
config.AddJsonFile("api.appsettings.local.override.json");
});

return base.CreateHost(builder);
if (Environment.GetEnvironmentVariable("CI").IsNullOrEmpty())
Environment.SetEnvironmentVariable(
"BACKBONE_ADDITIONAL_CONFIGURATION_FILE",
Path.Combine(AppContext.BaseDirectory, "api.appsettings.local.override.json"));
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ public static IServiceCollection CreateServices()

services.ConfigureAndValidate<HttpConfiguration>(options => config.GetSection("Http").Bind(options));

services.AddSingleton(new HttpClientFactory(new CustomWebApplicationFactory()));
services.AddSingleton<CustomWebApplicationFactory>();
services.AddSingleton(sp => new HttpClientFactory(sp.GetRequiredService<CustomWebApplicationFactory>()));

// For some reason the DI container is not able to use the internal constructor of the ClientPool. Hence we have to create it manually
services.AddScoped<ClientPool>(sp => new ClientPool(sp.GetRequiredService<HttpClientFactory>(), sp.GetRequiredService<IOptions<HttpConfiguration>>()));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
"RunMigrations": false,
"Infrastructure": {
"EventBus": {
"ConnectionInfo": "localhost"
"RabbitMQ": {
"HostName": "localhost"
}
}
},
"ModuleDefaults": {
Expand Down
10 changes: 3 additions & 7 deletions Applications/DatabaseMigrator/src/DatabaseMigrator/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@
using Serilog.Exceptions.EntityFrameworkCore.Destructurers;
using Serilog.Settings.Configuration;

Log.Logger = new LoggerConfiguration()
using var startupLogger = new LoggerConfiguration()
.WriteTo.Console()
.CreateBootstrapLogger();
.CreateLogger();

try
{
Expand All @@ -25,13 +25,9 @@
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
startupLogger.Fatal(ex, "Host terminated unexpectedly");
return 1;
}
finally
{
await Log.CloseAndFlushAsync();
}


static IHostBuilder CreateHostBuilder(string[] args)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,32 +21,29 @@
using Serilog.Settings.Configuration;
using InfrastructureConfiguration = Backbone.Modules.Quotas.Infrastructure.InfrastructureConfiguration;

Log.Logger = new LoggerConfiguration()
using var startupLogger = new LoggerConfiguration()
.WriteTo.Console()
.CreateBootstrapLogger();
.CreateLogger();

try
{
Log.Information("Creating app...");
startupLogger.Information("Creating app...");

var app = CreateHostBuilder(args);
var app = CreateHostBuilder(args).Build();
var logger = app.Services.GetRequiredService<ILogger<Program>>();

Log.Information("App created.");
Log.Information("Starting app...");
logger.LogInformation("App created.");
logger.LogInformation("Starting app...");

await app.Build().RunAsync();
await app.RunAsync();

return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
startupLogger.Fatal(ex, "Host terminated unexpectedly");
return 1;
}
finally
{
await Log.CloseAndFlushAsync();
}


static IHostBuilder CreateHostBuilder(string[] args)
Expand Down Expand Up @@ -101,7 +98,7 @@ static IHostBuilder CreateHostBuilder(string[] args)
.WithDefaultDestructurers()
.WithDestructurers([new DbUpdateExceptionDestructurer()]))
.Enrich.WithSensitiveDataMasking(options => options.AddSensitiveDataMasks()),
writeToProviders: true
preserveStaticLogger: true, writeToProviders: true
);
}

Expand Down
6 changes: 3 additions & 3 deletions Applications/Housekeeper/src/Housekeeper/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,9 @@
using Serilog.Exceptions.EntityFrameworkCore.Destructurers;
using Serilog.Settings.Configuration;

Log.Logger = new LoggerConfiguration()
using var startupLogger = new LoggerConfiguration()
.WriteTo.Console()
.CreateBootstrapLogger();
.CreateLogger();

using var host = CreateHostBuilder(args).Build();

Expand All @@ -36,7 +36,7 @@
}
catch (Exception ex)
{
Log.Fatal(ex, "There was an error while executing the housekeeper.");
startupLogger.Fatal(ex, "There was an error while executing the housekeeper.");
return 1;
}
finally
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,32 +29,29 @@ public class Program

public static async Task<int> Main(params string[] args)
{
Log.Logger = new LoggerConfiguration()
using var startupLogger = new LoggerConfiguration()
.WriteTo.Console()
.CreateBootstrapLogger();
.CreateLogger();

try
{
Log.Information("Creating app...");
startupLogger.Information("Creating app...");

var app = CreateHostBuilder(args);
var app = CreateHostBuilder(args).Build();
var logger = app.Services.GetRequiredService<ILogger<Program>>();

Log.Information("App created.");
Log.Information("Starting app...");
logger.LogInformation("App created.");
logger.LogInformation("Starting app...");

await app.Build().RunAsync();
await app.RunAsync();

return 0;
}
catch (Exception ex)
{
Log.Fatal(ex, "Host terminated unexpectedly");
startupLogger.Fatal(ex, "Host terminated unexpectedly");
return 1;
}
finally
{
await Log.CloseAndFlushAsync();
}
}

public static IHostBuilder CreateHostBuilder(string[] args)
Expand Down
Loading
Loading