Beispiel #1
0
        private static void Main(string[] args)
        {
            SetupConsole();
            try
            {
                var config = new FilterConfig("Config\\Filter.xml");

                //Logger
                foreach (var logger in config.Logger)
                {
                    StaticLogger.Create(logger.Key);
                    StaticLogger.SetLogLevel(logger.Value.Ordinal, logger.Key);
                }
                StaticLogger.SetInstance();

                //StaticLogger.Instance.Trace("Trace");
                //StaticLogger.Instance.Debug("Debug");
                //StaticLogger.Instance.Info("Info");
                //StaticLogger.Instance.Warn("Warn");
                //StaticLogger.Instance.Error("Error");
                //StaticLogger.Instance.Fatal("Fatal");

                //Services
                _serviceCollection = new ServiceCollection();
                foreach (var serviceSettings in config.Services)
                {
                    var service = new Service(serviceSettings.Value);
                    _serviceCollection.Add(service);
                }

                //Plugins
                var pluginManager = new PluginManager(config.Plugins);
                foreach (var service in _serviceCollection)
                {
                    pluginManager.RegisterService(service);
                }
                var pluginCount = pluginManager.Load();
                StaticLogger.Instance.Info($"{pluginCount} plugins registered.");

                //Start services
                foreach (var service in _serviceCollection)
                {
                    var result = service.Start();
                    if (result == false)
                        StaticLogger.Instance.Fatal($"Failed to start {service.Settings.Name}, check Filter.xml and prev. errors");
                }

                StaticLogger.Instance.Info("Successfully initilized.");
                Console.Beep();

                while (true)
                {
                    var line = Console.ReadLine();
                    if (line == "exit" || line == "quit")
                        break;
                }
                foreach (var service in _serviceCollection)
                {
                    service.Stop();
                }
            }
            catch (Exception ex)
            {
                Console.Beep();
                Console.WriteLine("Something f****d up really hard, please check Filter.xml");
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.Beep();
                Console.ReadLine();
            }
        }
Beispiel #2
0
        private static void Main(string[] args)
        {
            SetupConsole();
            try
            {
                var config = new FilterConfig("Config\\Filter.xml");

                //Logger
                foreach (var logger in config.Logger)
                {
                    StaticLogger.Create(logger.Key);
                    StaticLogger.SetLogLevel(logger.Value.Ordinal, logger.Key);
                }
                StaticLogger.SetInstance();

                //StaticLogger.Instance.Trace("Trace");
                //StaticLogger.Instance.Debug("Debug");
                //StaticLogger.Instance.Info("Info");
                //StaticLogger.Instance.Warn("Warn");
                //StaticLogger.Instance.Error("Error");
                //StaticLogger.Instance.Fatal("Fatal");

                //Services
                _serviceCollection = new ServiceCollection();
                foreach (var serviceSettings in config.Services)
                {
                    var service = new Service(serviceSettings.Value);
                    _serviceCollection.Add(service);
                }

                //Plugins
                var pluginManager = new PluginManager(config.Plugins);
                foreach (var service in _serviceCollection)
                {
                    pluginManager.RegisterService(service);
                }
                var pluginCount = pluginManager.Load();
                StaticLogger.Instance.Info($"{pluginCount} plugins registered.");

                //Start services
                foreach (var service in _serviceCollection)
                {
                    var result = service.Start();
                    if (result == false)
                    {
                        StaticLogger.Instance.Fatal($"Failed to start {service.Settings.Name}, check Filter.xml and prev. errors");
                    }
                }

                StaticLogger.Instance.Info("Successfully initilized.");
                Console.Beep();

                while (true)
                {
                    var line = Console.ReadLine();
                    if (line == "exit" || line == "quit")
                    {
                        break;
                    }
                }
                foreach (var service in _serviceCollection)
                {
                    service.Stop();
                }
            }
            catch (Exception ex)
            {
                Console.Beep();
                Console.WriteLine("Something f****d up really hard, please check Filter.xml");
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.Beep();
                Console.ReadLine();
            }
        }