diff --git a/ProjectConfectionaryFactory/ProjectConfectionaryFactory/Program.cs b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/Program.cs index 7f0fa7f..2262b79 100644 --- a/ProjectConfectionaryFactory/ProjectConfectionaryFactory/Program.cs +++ b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/Program.cs @@ -2,6 +2,10 @@ using Unity.Lifetime; using Unity; using ProjectConfectionaryFactory.Repositories; using ProjectConfectionaryFactory.Repositories.Implementations; +using Microsoft.Extensions.Configuration; +using Microsoft.Extensions.Logging; +using Serilog; +using Unity.Microsoft.Logging; namespace ProjectConfectionaryFactory { @@ -22,13 +26,31 @@ namespace ProjectConfectionaryFactory private static IUnityContainer CreateContainer() { var container = new UnityContainer(); + + container.AddExtension(new LoggingExtension(CreateLoggerFactory())); + container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); container.RegisterType(new TransientLifetimeManager()); + + container.RegisterType(new SingletonLifetimeManager()); + return container; } + + private static LoggerFactory CreateLoggerFactory() + { + var loggerFactory = new LoggerFactory(); + loggerFactory.AddSerilog(new LoggerConfiguration() + .ReadFrom.Configuration(new ConfigurationBuilder() + .SetBasePath(Directory.GetCurrentDirectory()) + .AddJsonFile("appsettings.json") + .Build()) + .CreateLogger()); + return loggerFactory; + } } } \ No newline at end of file diff --git a/ProjectConfectionaryFactory/ProjectConfectionaryFactory/ProjectConfectionaryFactory.csproj b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/ProjectConfectionaryFactory.csproj index accbdf0..8fa1cd1 100644 --- a/ProjectConfectionaryFactory/ProjectConfectionaryFactory/ProjectConfectionaryFactory.csproj +++ b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/ProjectConfectionaryFactory.csproj @@ -9,7 +9,18 @@ + + + + + + + + + + + @@ -27,4 +38,10 @@ + + + PreserveNewest + + + \ No newline at end of file diff --git a/ProjectConfectionaryFactory/ProjectConfectionaryFactory/Repositories/IConnectionString.cs b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/Repositories/IConnectionString.cs new file mode 100644 index 0000000..3a8ab9f --- /dev/null +++ b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/Repositories/IConnectionString.cs @@ -0,0 +1,6 @@ +namespace ProjectConfectionaryFactory.Repositories; + +public interface IConnectionString +{ + public string ConnectionString { get; } +} diff --git a/ProjectConfectionaryFactory/ProjectConfectionaryFactory/appsettings.json b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/appsettings.json new file mode 100644 index 0000000..87b332f --- /dev/null +++ b/ProjectConfectionaryFactory/ProjectConfectionaryFactory/appsettings.json @@ -0,0 +1,15 @@ +{ + "Serilog": { + "Using": [ "Serilog.Sinks.File" ], + "MinimumLevel": "Debug", + "WriteTo": [ + { + "Name": "File", + "Args": { + "path": "Logs/confectionary_log.txt", + "rollingInterval": "Day" + } + } + ] + } +} \ No newline at end of file