Example #1
0
        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);
 }