Ejemplo n.º 1
0
        private static async Task ConnectAsync(bool automaticallyReconnect = false)
        {
            var url         = AskUser("Bot url:");
            var appId       = AskUser("Bot app id:");
            var appPassword = AskUser("Bot app password:"******"channelId", "Test" }
            };

            if (!string.IsNullOrEmpty(appId) && !string.IsNullOrEmpty(appPassword))
            {
                var credentials = new MsalAppCredentials(appId, appPassword, null, appId);
                var token       = await credentials.GetTokenAsync();

                headers.Add("Authorization", $"Bearer {token}");
            }

            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>(string.Empty, null);
            var optionsFactory        = new OptionsFactory <ConsoleLoggerOptions>(new[] { configureNamedOptions }, Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var optionsMonitor        = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory, Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(), new OptionsCache <ConsoleLoggerOptions>());

            // Improvement opportunity: expose command / argument to control log level.
            var loggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider(optionsMonitor) }, new LoggerFilterOptions {
                MinLevel = LogLevel.Debug
            });

            _cancellationSource = new CancellationTokenSource();

            _client = new WebSocketClient(url, new ConsoleRequestHandler(), logger: loggerFactory.CreateLogger("WebSocketClient"));
            _client.Disconnected += Client_Disconnected;
            _clientTask           = _client.ConnectAsync(headers, _cancellationSource.Token);
        }
Ejemplo n.º 2
0
        public void Setup()
        {
            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var optionsFactory        = new OptionsFactory <ConsoleLoggerOptions>(new [] { configureNamedOptions }, Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var optionsMonitor        = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory, Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(), new OptionsCache <ConsoleLoggerOptions>());

            loggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider(optionsMonitor) }, new LoggerFilterOptions {
                MinLevel = LogLevel.Trace
            });
        }
Ejemplo n.º 3
0
        public LoggingHandler()
        {
            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var optionsFactory        = new OptionsFactory <ConsoleLoggerOptions>(new[] { configureNamedOptions }, Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var optionsMonitor        = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory, Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(), new OptionsCache <ConsoleLoggerOptions>());

            consoleLoggerProvider = new ConsoleLoggerProvider(optionsMonitor);
            LoggerFactory         = new LoggerFactory(new[] { consoleLoggerProvider }, new LoggerFilterOptions {
                MinLevel = LogLevel.Information
            });
        }
Ejemplo n.º 4
0
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            base.OnConfiguring(optionsBuilder);

            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var optionsFactory        = new OptionsFactory <ConsoleLoggerOptions>(new[] { configureNamedOptions }, Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var optionsMonitor        = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory, Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(), new OptionsCache <ConsoleLoggerOptions>());
            var loggerFactory         = new LoggerFactory(new[] { new ConsoleLoggerProvider(optionsMonitor) }, new LoggerFilterOptions {
                MinLevel = LogLevel.Information
            });

            optionsBuilder
            .UseSqlServer(connectionString)
            .UseLoggerFactory(loggerFactory)      //tie-up DbContext with LoggerFactory object
            .EnableSensitiveDataLogging();
        }
Ejemplo n.º 5
0
        private ILoggerProvider GetLoggerProvider()
        {
            var configureNamedOptions =
                new ConfigureNamedOptions <ConsoleLoggerOptions>(string.Empty, opts => { });

            var optionsFactory = new OptionsFactory <ConsoleLoggerOptions>(
                new[] { configureNamedOptions },
                Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());

            var optionsMonitor = new OptionsMonitor <ConsoleLoggerOptions>(
                optionsFactory,
                Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(),
                new OptionsCache <ConsoleLoggerOptions>());

            return(new ConsoleLoggerProvider(optionsMonitor));
        }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
#if DEBUG
            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var optionsFactory        = new OptionsFactory <ConsoleLoggerOptions>(new[] { configureNamedOptions },
                                                                                  Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var optionsMonitor = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory,
                                                                           Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(),
                                                                           new OptionsCache <ConsoleLoggerOptions>());
            var loggerFactory = new LoggerFactory(new[] { new ConsoleLoggerProvider(optionsMonitor) },
                                                  new LoggerFilterOptions {
                MinLevel = Microsoft.Extensions.Logging.LogLevel.Trace
            });

            optionsBuilder.UseLoggerFactory(loggerFactory)
            .EnableSensitiveDataLogging();
#endif
        }
        /// <summary>
        /// Registers an action used to configure a particular type of options.
        /// Note: These are run before all <seealso cref="PostConfigure{TOptions}(IUnityContainer, Action{TOptions})"/>.
        /// </summary>
        /// <typeparam name="TOptions">The options type to be configured.</typeparam>
        /// <param name="container">The <see cref="IUnityContainer"/> to add the services to.</param>
        /// <param name="name">The name of the options instance.</param>
        /// <param name="configureOptions">The action used to configure the options.</param>
        /// <returns>The <see cref="IUnityContainer"/> so that additional calls can be chained.</returns>
        public static IUnityContainer Configure <TOptions>(this IUnityContainer container, string name, Action <TOptions> configureOptions)
            where TOptions : class
        {
            if (container == null)
            {
                throw new ArgumentNullException(nameof(container));
            }

            if (configureOptions == null)
            {
                throw new ArgumentNullException(nameof(configureOptions));
            }

            var value = new ConfigureNamedOptions <TOptions>(name, configureOptions);

            container.RegisterInstance <IConfigureOptions <TOptions> >(Guid.NewGuid().ToString(), value);
            return(container);
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            // Logging setup:
            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var optionsFactory        = new OptionsFactory <ConsoleLoggerOptions>(new[] { configureNamedOptions }, Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var optionsMonitor        = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory, Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(), new OptionsCache <ConsoleLoggerOptions>());
            var loggerFactory         = new LoggerFactory(new[] { new ConsoleLoggerProvider(optionsMonitor) }, new LoggerFilterOptions {
                MinLevel = LogLevel.Information
            });
            var logger = loggerFactory.CreateLogger <CarServiceLoggingDecorator>();

            var carService  = new CarServiceLoggingDecorator(new CarService(), logger);
            var carDetails1 = carService.GetCarDetails("Hyundai I30");
            var carDetails2 = carService.GetCarDetails("BMW 318i");

            carDetails1.PrintDetails();
            carDetails2.PrintDetails();
        }
Ejemplo n.º 9
0
        public static IDataProtectionBuilder PersistKeysToRedis(this IDataProtectionBuilder builder)
        {
            if (builder == null)
            {
                throw new ArgumentNullException(nameof(builder));
            }

            builder.Services.TryAddSingleton <IXmlRepository, CloudFoundryRedisXmlRepository>();

            builder.Services.AddSingleton <IConfigureOptions <KeyManagementOptions> >((p) =>
            {
                var config = new ConfigureNamedOptions <KeyManagementOptions>(Options.DefaultName, (options) =>
                {
                    options.XmlRepository = p.GetRequiredService <IXmlRepository>();
                });
                return(config);
            });
            return(builder);
        }
Ejemplo n.º 10
0
        static void Main(string[] args)
        {
            var _configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var _optionsFactory        = new OptionsFactory <ConsoleLoggerOptions>(new[] { _configureNamedOptions }, Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var _optionsMonitor        = new OptionsMonitor <ConsoleLoggerOptions>(_optionsFactory, Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(), new OptionsCache <ConsoleLoggerOptions>());
            var _loggerFactory         = new LoggerFactory(new[] { new ConsoleLoggerProvider(_optionsMonitor) }, new LoggerFilterOptions {
                MinLevel = LogLevel.Information
            });

            var optionsBuilder = new DbContextOptionsBuilder <LinqPracticeContext>();

            optionsBuilder.UseLoggerFactory(_loggerFactory);
            optionsBuilder.EnableSensitiveDataLogging();
            optionsBuilder.UseSqlServer(ConnectionString);
            using (var context = new LinqPracticeContext(optionsBuilder.Options))
            {
            }

            Console.ReadLine();
        }
Ejemplo n.º 11
0
        static void SimpleRun()
        {
            var options        = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var optionsFactory =
                new OptionsFactory <ConsoleLoggerOptions>(new[] { options }, Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());
            var optionsMonitor = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory,
                                                                           Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(), new OptionsCache <ConsoleLoggerOptions>());

            using (var consoleLoggerProvider = new ConsoleLoggerProvider(optionsMonitor))
                using (var loggerFactory = new LoggerFactory(new[] { consoleLoggerProvider }, new LoggerFilterOptions {
                    MinLevel = LogLevel.Information
                }))
                {
                    var logger = loggerFactory.CreateLogger("Test");

                    var updater = CorridContext.Default as ICorridContextUpdater;
                    (CorridContext.Default as DefaultCorridContext)?.AddEventHandler(new CorridContextUpdaterLogger(logger));
                    updater.BeginExecutionScope("X1234");

                    updater.EndExecutionScope();
                }
        }
Ejemplo n.º 12
0
        public ProviderBuilder(string pathName, string fileName)
        {
            var fileConfigureNamedOptions = new ConfigureNamedOptions <FileLoggerOptions>
                                            (
                string.Empty,
                options =>
            {
                options.FilePath = pathName;
                options.FileName = fileName;
            }
                                            );

            var fileOptionsFactory = new OptionsFactory <FileLoggerOptions>
                                     (
                new[] { fileConfigureNamedOptions },
                Enumerable.Empty <IPostConfigureOptions <FileLoggerOptions> >()
                                     );

            var fileOptionsManager = new OptionsManager <FileLoggerOptions>(fileOptionsFactory);

            FileLoggerProvider = new FileLoggerProvider(fileOptionsManager);
        }
Ejemplo n.º 13
0
        private static void InitializeLogger()
        {
            // Here a method had been used that was marked as obsolete in Microsoft.Extensions.Logging 2.2
            // and has been removed in version 3.0 -> this is the workaround for it.
            // Refactoring the whole thing to make use of dependencyInjection will become necessary at some
            // point in the future.
            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("", null);
            var postConfigureOptions  = Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >();
            var setups                    = new [] { configureNamedOptions };
            var optionsFactory            = new OptionsFactory <ConsoleLoggerOptions>(setups, postConfigureOptions);
            var optionsChangeTokenSources = Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >();
            var optionsMonitorCache       = new OptionsCache <ConsoleLoggerOptions>();
            var optionsMonitor            = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory, optionsChangeTokenSources, optionsMonitorCache);
            var loggerFilterOptions       = new LoggerFilterOptions {
                MinLevel = LogLevel.Debug
            };
            var consoleLoggerProvider = new ConsoleLoggerProvider(optionsMonitor);

            var loggerFactory = new LoggerFactory(new[] { consoleLoggerProvider }, loggerFilterOptions);

            ApplicationLogging.LoggerFactory = loggerFactory;
            Logger = ApplicationLogging.CreateLogger("Program");
        }
Ejemplo n.º 14
0
        private static ILoggerFactory GetDefaultFactory()
        {
            var configureNamedOptions = new ConfigureNamedOptions <ConsoleLoggerOptions>("Console", null);

            var optionsFactory = new OptionsFactory <ConsoleLoggerOptions>(new[]
            {
                configureNamedOptions
            },
                                                                           Enumerable.Empty <IPostConfigureOptions <ConsoleLoggerOptions> >());

            var optionsMonitor = new OptionsMonitor <ConsoleLoggerOptions>(optionsFactory,
                                                                           Enumerable.Empty <IOptionsChangeTokenSource <ConsoleLoggerOptions> >(),
                                                                           new OptionsCache <ConsoleLoggerOptions>());

            return(new LoggerFactory(new[]
            {
                new ConsoleLoggerProvider(optionsMonitor)
            },
                                     new LoggerFilterOptions
            {
                MinLevel = TextWranglerConfig.DefaultLogLevel
            }));
        }