private static ServiceProvider ConfigureServices(ServiceCollection services) { var singleLineConsoleLoggerProvider = new SingleLineConsoleLogger(); services.AddLogging(configure => { configure.ClearProviders() .AddProvider(singleLineConsoleLoggerProvider) .SetMinimumLevel(LoggingLevel); }); foreach (var day in GetAllDays()) { services.AddTransient(day); } var serviceProvider = services.BuildServiceProvider(); LogFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); var logger = serviceProvider.GetRequiredService <ILogger <AdventOfCode> >(); services.AddSingleton(typeof(ILogger), logger); return(services.BuildServiceProvider()); }
private static ServiceProvider ConfigureServices(ServiceCollection services) { var singleLineConsoleLoggerProvider = new SingleLineConsoleLogger(); services .AddLogging(configure => configure.ClearProviders().AddProvider(singleLineConsoleLoggerProvider).SetMinimumLevel(LoggingLevel)); var serviceProvider = services.BuildServiceProvider(); LogFactory = serviceProvider.GetRequiredService <ILoggerFactory>(); var logger = serviceProvider.GetRequiredService <ILogger <AdventOfCode> >(); services.AddSingleton(typeof(ILogger), logger); services.AddTransient <Day01>(); services.AddTransient <Day02>(); services.AddTransient <Day03>(); services.AddTransient <Day04>(); services.AddTransient <Day05>(); services.AddTransient <Day06>(); services.AddTransient <Day07>(); services.AddTransient <Day08>(); services.AddTransient <Day09>(); services.AddTransient <Day10>(); services.AddTransient <Day11>(); services.AddTransient <Day12>(); services.AddTransient <Day13>(); services.AddTransient <Day14>(); services.AddTransient <Day15>(); services.AddTransient <Day16>(); services.AddTransient <Day17>(); ////services.AddTransient<Day18>(); ////services.AddTransient<Day19>(); ////services.AddTransient<Day20>(); ////services.AddTransient<Day21>(); ////services.AddTransient<Day22>(); ////services.AddTransient<Day23>(); ////services.AddTransient<Day24>(); ////services.AddTransient<Day25>(); services.AddTransient(sp => new IntCodeCpuClassic(sp.GetRequiredService <ILogger <IntCodeCpuClassic> >())); services.AddTransient(sp => new IntCodeCpuMemory(sp.GetRequiredService <ILogger <IntCodeCpuMemory> >())); services.AddTransient(sp => new IntCodeCpu(sp.GetRequiredService <ILogger <IntCodeCpu> >(), sp.GetRequiredService <IntCodeCpuMemory>())); return(services.BuildServiceProvider()); }
public void Init() { _sink = Substitute.For <ILoggerSink>(); _logger = new SingleLineConsoleLogger(GetType().FullName, _sink, SingleLineConsoleLoggerOptions.Default, DummyExternalScopeProvider.Instance); }