private Supervisor() { try { _LoggingProvider = new TraceListenerLoggingProvider(); try { _ConfigurationManager = new ConfigurationManager(); _TelemetryManager = new TelemetryManager(); _StateManager = new StateManager(); _TimeManager = new TimeManager(); _RequestManager = new RequestManager(); _WorkManager = new WorkManager(); } catch (Exception ex2) { try { _LoggingProvider.WriteEntry(string.Format("{0} [Critical startup error.]", ex2.Message), TraceEventType.Critical); } catch (Exception ex3) { Console.WriteLine("Could not write to the error log."); Console.WriteLine("* {0}", ex3.Message); } throw; } } catch (Exception ex1) { Console.WriteLine("Could not initialize logging subsystem."); Console.WriteLine("* {0}", ex1.Message); throw; } }