diff --git a/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj b/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj
index 0f0414ff..091c4636 100644
--- a/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj
+++ b/EnvelopeGenerator.Finalizer/EnvelopeGenerator.Finalizer.csproj
@@ -10,6 +10,10 @@
+
+
+
+
diff --git a/EnvelopeGenerator.Finalizer/Program.cs b/EnvelopeGenerator.Finalizer/Program.cs
index c15a2b30..117a95da 100644
--- a/EnvelopeGenerator.Finalizer/Program.cs
+++ b/EnvelopeGenerator.Finalizer/Program.cs
@@ -2,36 +2,62 @@ using EnvelopeGenerator.Application;
using EnvelopeGenerator.Finalizer;
using EnvelopeGenerator.Infrastructure;
using Microsoft.EntityFrameworkCore;
+using Serilog;
-var builder = Host.CreateApplicationBuilder(args);
-var config = builder.Configuration;
-builder.Services.AddHostedService();
+// Load Serilog from appsettings.json
+Log.Logger = new LoggerConfiguration()
+ .ReadFrom.Configuration(new ConfigurationBuilder()
+ .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
+ .Build())
+ .CreateLogger();
-#region Add DB Context, EG Inf. and Services
-var cnnStrName = "Default";
-var connStr = config.GetConnectionString(cnnStrName)
- ?? throw new InvalidOperationException($"Connection string '{cnnStrName}' is missing in the application configuration.");
+try
+{
+ var builder = Host.CreateApplicationBuilder(args);
-#pragma warning disable CS0618 // Type or member is obsolete
-builder.Services.AddEnvelopeGeneratorInfrastructureServices(
- opt =>
- {
- opt.AddDbTriggerParams(config);
- opt.AddDbContext((provider, options) =>
+ // add serilog
+ builder.Logging.ClearProviders();
+ builder.Logging.AddSerilog();
+
+ var config = builder.Configuration;
+ builder.Services.AddHostedService();
+
+ #region Add DB Context, EG Inf. and Services
+ var cnnStrName = "Default";
+ var connStr = config.GetConnectionString(cnnStrName)
+ ?? throw new InvalidOperationException($"Connection string '{cnnStrName}' is missing in the application configuration.");
+
+ #pragma warning disable CS0618 // Type or member is obsolete
+ builder.Services.AddEnvelopeGeneratorInfrastructureServices(
+ opt =>
{
- var logger = provider.GetRequiredService>();
- options.UseSqlServer(connStr)
- .LogTo(log => logger.LogInformation("{log}", log), Microsoft.Extensions.Logging.LogLevel.Trace)
- .EnableSensitiveDataLogging()
- .EnableDetailedErrors();
+ opt.AddDbTriggerParams(config);
+ opt.AddDbContext((provider, options) =>
+ {
+ var logger = provider.GetRequiredService>();
+ options.UseSqlServer(connStr)
+ .LogTo(log => logger.LogInformation("{log}", log), Microsoft.Extensions.Logging.LogLevel.Trace)
+ .EnableSensitiveDataLogging()
+ .EnableDetailedErrors();
+ });
});
- });
-#pragma warning restore CS0618 // Type or member is obsolete
+ #pragma warning restore CS0618 // Type or member is obsolete
-#pragma warning disable CS0618 // Type or member is obsolete
-builder.Services.AddEnvelopeGeneratorServices(config);
-#pragma warning restore CS0618 // Type or member is obsolete
-#endregion Add DB Context, EG Inf. and Services
+ #pragma warning disable CS0618 // Type or member is obsolete
+ builder.Services.AddEnvelopeGeneratorServices(config);
+ #pragma warning restore CS0618 // Type or member is obsolete
+ #endregion Add DB Context, EG Inf. and Services
-var host = builder.Build();
-host.Run();
\ No newline at end of file
+ var host = builder.Build();
+ host.Run();
+
+ Log.Information("The worker was stopped.");
+}
+catch(Exception ex)
+{
+ Log.Fatal(ex, "Worker could not be started!");
+}
+finally
+{
+ Log.CloseAndFlush();
+}
\ No newline at end of file
diff --git a/EnvelopeGenerator.Finalizer/appsettings.json b/EnvelopeGenerator.Finalizer/appsettings.json
index b2dcdb67..c0528954 100644
--- a/EnvelopeGenerator.Finalizer/appsettings.json
+++ b/EnvelopeGenerator.Finalizer/appsettings.json
@@ -4,5 +4,37 @@
"Default": "Information",
"Microsoft.Hosting.Lifetime": "Information"
}
+ },
+ "ConnectionStrings": {
+ "Default": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;",
+ "DbMigrationTest": "Server=SDD-VMP04-SQL17\\DD_DEVELOP01;Database=DD_ECM_DATA_MIGR_TEST;User Id=sa;Password=dd;Encrypt=false;TrustServerCertificate=True;"
+ },
+ "Serilog": {
+ "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],
+ "MinimumLevel": {
+ "Default": "Information",
+ "Override": {
+ "Microsoft": "Warning",
+ "System": "Warning"
+ }
+ },
+ "WriteTo": [
+ {
+ "Name": "Console",
+ "Args": {
+ "outputTemplate": "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}"
+ }
+ },
+ {
+ "Name": "File",
+ "Args": {
+ "path": "Logs/log-.txt",
+ "rollingInterval": "Day",
+ "retainedFileCountLimit": 7,
+ "outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}"
+ }
+ }
+ ],
+ "Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ]
}
-}
+}
\ No newline at end of file