public void Start() { const string configFileName = "config.json"; var applicationFilePath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); if (applicationFilePath == null) { Log.Error("Unable to get applications path"); Environment.Exit(404); } var configfilePath = Path.Combine(applicationFilePath, configFileName); var config = JsonConfigProvider.GetConfigFromFile(configfilePath); _reporter = PerfMonAgentFactory.CreateAgentWithConfiguration(config); if (_reporter == null) { Log.Error("Unable to start service."); Environment.Exit(500); } Log.Info("Starting service."); try { _reporter.Start(); } catch (Exception ex) { Log.Error("Failed to start, unable to continue.", ex); } }