void configureLogging() {
            EventLogTraceListener eventLogListener = new EventLogTraceListener(this.EventLog);
            eventLogListener.Filter = new EventTypeFilter(SourceLevels.Information | SourceLevels.Critical | SourceLevels.Error | SourceLevels.Warning);

            EventLogTraceListener eventLogListenerError = new EventLogTraceListener(this.EventLog);
            eventLogListenerError.Filter = new EventTypeFilter(SourceLevels.Critical | SourceLevels.Error | SourceLevels.Warning);

            Logging.MachineControllerLog.Listeners.Add(eventLogListener);
            Logging.ServiceInterfaceLog.Listeners.Add(eventLogListenerError);
            VBoxWrapper.Logging.ComInterfaceLog.Listeners.Add(eventLogListenerError);
            VBoxWrapper.Logging.MachineBuildingLog.Listeners.Add(eventLogListenerError);
            VBoxWrapper.Logging.MachineLog.Listeners.Add(eventLogListenerError);

            if (Config.GetConfig().EnableTrace) {
                TextWriterTraceListener textFileListener = new TextWriterListenerWithTime(Path.Combine(Utils.GetApplicationPath(), @"VirtualBoxService.log"), "textFileLog");
                StreamWriter sw = textFileListener.Writer as StreamWriter;
                if (sw != null) sw.AutoFlush = true;

                List<TraceSource> sources = new List<TraceSource> {
                VBoxWrapper.Logging.ComInterfaceLog,
                VBoxWrapper.Logging.MachineBuildingLog,
                VBoxWrapper.Logging.MachineLog,
                Logging.MachineControllerLog,
                Logging.ServiceInterfaceLog,
            };

                foreach (var s in sources) {
                    s.Switch.Level = SourceLevels.All;
                    s.Listeners.Add(textFileListener);
                }
            }
        }
        void configureLogging()
        {
            EventLogTraceListener eventLogListener = new EventLogTraceListener(this.EventLog);

            eventLogListener.Filter = new EventTypeFilter(SourceLevels.Information | SourceLevels.Critical | SourceLevels.Error | SourceLevels.Warning);

            EventLogTraceListener eventLogListenerError = new EventLogTraceListener(this.EventLog);

            eventLogListenerError.Filter = new EventTypeFilter(SourceLevels.Critical | SourceLevels.Error | SourceLevels.Warning);

            Logging.MachineControllerLog.Listeners.Add(eventLogListener);
            Logging.ServiceInterfaceLog.Listeners.Add(eventLogListenerError);
            VBoxWrapper.Logging.ComInterfaceLog.Listeners.Add(eventLogListenerError);
            VBoxWrapper.Logging.MachineBuildingLog.Listeners.Add(eventLogListenerError);
            VBoxWrapper.Logging.MachineLog.Listeners.Add(eventLogListenerError);

            if (Config.GetConfig().EnableTrace)
            {
                TextWriterTraceListener textFileListener = new TextWriterListenerWithTime(Path.Combine(Utils.GetApplicationPath(), @"VirtualBoxService.log"), "textFileLog");
                StreamWriter            sw = textFileListener.Writer as StreamWriter;
                if (sw != null)
                {
                    sw.AutoFlush = true;
                }

                List <TraceSource> sources = new List <TraceSource> {
                    VBoxWrapper.Logging.ComInterfaceLog,
                    VBoxWrapper.Logging.MachineBuildingLog,
                    VBoxWrapper.Logging.MachineLog,
                    Logging.MachineControllerLog,
                    Logging.ServiceInterfaceLog,
                };

                foreach (var s in sources)
                {
                    s.Switch.Level = SourceLevels.All;
                    s.Listeners.Add(textFileListener);
                }
            }
        }