protected override void Process(CancellationToken cancellationToken)
        {
            Logger = new ConsoleLogger(ServiceName, (message, level) => level >= _logLevel, false);

            var appSettings = ConfigurationManager.AppSettings;

            Enum.TryParse(appSettings["LogLevel"], true, out _logLevel);

            var entityConnectionConfig   = new EntityConnectionConfig(new DatabaseConnectionConfig(appSettings["DatabaseServer"], appSettings["DatabaseName"]));
            var repositoryContextFactory = new RepositoryContextFactory(Logger, entityConnectionConfig);
            var messageBusBuilder        = new MessageBusBuilder();

            messageBusBuilder.WithLogger(Logger);
            messageBusBuilder.WithServiceName(ServiceName);

            _messageBus = messageBusBuilder.Build();

            _featureToggle = new Core.FeatureToggle(Logger, _messageBus, repositoryContextFactory);

            _messageBus.Start(cancellationToken);
        }