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(); 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() .BuildServiceProvider(); return provider; } }