PI06 i PI06-1. Docker definitions for MSSQL and Postgres. Data seeder/generator for countries and people. Entity Framework example with variants for Postgres and MSSQL
This commit is contained in:
45
DefensiveProgramming/Logging/Program.cs
Normal file
45
DefensiveProgramming/Logging/Program.cs
Normal file
@@ -0,0 +1,45 @@
|
||||
using Microsoft.Extensions.Configuration;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using NLog.Extensions.Logging;
|
||||
using System;
|
||||
using System.Linq;
|
||||
|
||||
namespace Logging;
|
||||
|
||||
class Program
|
||||
{
|
||||
static void Main(string[] args)
|
||||
{
|
||||
using (var serviceProvider = BuildDI())
|
||||
{
|
||||
var dataLoader = serviceProvider.GetRequiredService<IDataLoader>();
|
||||
var list = dataLoader.LoadData("data.txt");
|
||||
var sortQuery = list.OrderByDescending(t => t.Item2)
|
||||
.ThenBy(t => t.Item1);
|
||||
|
||||
Console.WriteLine("Valid data: ");
|
||||
foreach (var item in sortQuery)
|
||||
{
|
||||
Console.WriteLine($"{item.Item2:yyyy-MM-dd} {item.Item1}");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static ServiceProvider BuildDI()
|
||||
{
|
||||
var configuration = new ConfigurationBuilder()
|
||||
.AddJsonFile("appsettings.json")
|
||||
.Build();
|
||||
|
||||
IServiceCollection services = new ServiceCollection();
|
||||
var provider = services.AddLogging(configure => {
|
||||
configure.AddConfiguration(configuration.GetSection("Logging"));
|
||||
configure.AddConsole();
|
||||
configure.AddNLog(new NLogProviderOptions { RemoveLoggerFactoryFilter = false });
|
||||
})
|
||||
.AddTransient<IDataLoader, DataLoader>()
|
||||
.BuildServiceProvider();
|
||||
return provider;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user