LabWork 2.0.2 (Добавление логгера)

This commit is contained in:
Aidar 2024-12-05 18:46:42 +04:00
parent 85cf278f62
commit 3335f9ec1a
6 changed files with 76 additions and 10 deletions

View File

@ -2,6 +2,10 @@ using ProjectAutoenterprise.Repositories.Implementations;
using ProjectAutoenterprise.Repositories;
using Unity;
using Unity.Lifetime;
using Unity.Microsoft.Logging;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Serilog;
namespace ProjectAutoenterprise
{
@ -21,14 +25,28 @@ namespace ProjectAutoenterprise
private static IUnityContainer CreateContainer()
{
var container = new UnityContainer();
container.AddExtension(new LoggingExtension(CreateLoggerFactory()));
container.RegisterType<IConnectionString, ConnectionString>(new TransientLifetimeManager());
container.RegisterType<IBusRepairRepository, BusRepairRepository>(new TransientLifetimeManager());
container.RegisterType<IBusRepository, BusRepository>(new TransientLifetimeManager());
container.RegisterType<IEmployeeRepository, EmployeeRepository>(new TransientLifetimeManager());
container.RegisterType<IItineraryRepository, ItineraryRepository>(new TransientLifetimeManager());
container.RegisterType<IRouteRepository, RouteRepository>(new TransientLifetimeManager());
container.RegisterType<IConnectionString, ConnectionString>(new TransientLifetimeManager());
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;
}
}
}

View File

@ -1,9 +1,20 @@
using ProjectAutoenterprise.Entities;
using Microsoft.Extensions.Logging;
using ProjectAutoenterprise.Entities;
namespace ProjectAutoenterprise.Repositories.Implementations;
internal class BusRepairRepository : IBusRepairRepository
{
private readonly IConnectionString _connectionString;
private readonly ILogger<BusRepairRepository> _logger;
public BusRepairRepository(IConnectionString connectionString, ILogger<BusRepairRepository> logger)
{
_connectionString = connectionString;
_logger = logger;
}
public void CreateBusRepair(BusRepair busRepair)
{
}

View File

@ -1,8 +1,19 @@
using ProjectAutoenterprise.Entities;
using Microsoft.Extensions.Logging;
using ProjectAutoenterprise.Entities;
namespace ProjectAutoenterprise.Repositories.Implementations;
internal class BusRepository : IBusRepository
{
private readonly IConnectionString _connectionString;
private readonly ILogger<BusRepository> _logger;
public BusRepository(IConnectionString connectionString, ILogger<BusRepository> logger)
{
_connectionString = connectionString;
_logger = logger;
}
public void CreateBus(Bus bus)
{
}

View File

@ -1,9 +1,20 @@
using ProjectAutoenterprise.Entities;
using Microsoft.Extensions.Logging;
using ProjectAutoenterprise.Entities;
using ProjectAutoenterprise.Entities.Enums;
namespace ProjectAutoenterprise.Repositories.Implementations;
internal class EmployeeRepository : IEmployeeRepository
{
private readonly IConnectionString _connectionString;
private readonly ILogger<EmployeeRepository> _logger;
public EmployeeRepository(IConnectionString connectionString, ILogger<EmployeeRepository> logger)
{
_connectionString = connectionString;
_logger = logger;
}
public void CreateEmployee(Employee employee)
{

View File

@ -1,9 +1,20 @@
using ProjectAutoenterprise.Entities;
using Microsoft.Extensions.Logging;
using ProjectAutoenterprise.Entities;
namespace ProjectAutoenterprise.Repositories.Implementations;
internal class ItineraryRepository : IItineraryRepository
{
private readonly IConnectionString _connectionString;
private readonly ILogger<ItineraryRepository> _logger;
public ItineraryRepository(IConnectionString connectionString, ILogger<ItineraryRepository> logger)
{
_connectionString = connectionString;
_logger = logger;
}
public void CreateItinerary(Itinerary itinerary)
{
}

View File

@ -1,13 +1,17 @@
using ProjectAutoenterprise.Entities;
using Microsoft.Extensions.Logging;
using ProjectAutoenterprise.Entities;
namespace ProjectAutoenterprise.Repositories.Implementations;
internal class RouteRepository : IRouteRepository
{
private readonly IConnectionString _connectionString;
public RouteRepository(IConnectionString connectionString)
private readonly ILogger<RouteRepository> _logger;
public RouteRepository(IConnectionString connectionString, ILogger<RouteRepository> logger)
{
_connectionString = connectionString;
_logger = logger;
}
public void CreateRoute(Route route)