private static Settings GetSettingsFromAppConfig(ILog log)
        {
            log.Debug("No external configuration path given, attempting to load settings from from default configuration file");
            var section = (NewRelicConfigurationSection)ConfigurationManager.GetSection("newRelic");
            var settingsFromAppConfig = Settings.FromConfigurationSection(section, log);

            log.InfoFormat("Settings loaded successfully");
            return(settingsFromAppConfig);
        }
        /// <summary>
        ///     Opens a config file on disk.
        /// </summary>
        /// <param name="configFilePath">Path to external config file.</param>
        /// <param name="log">Log4Net ILog implementation</param>
        /// <returns>
        ///     Settings parsed from <paramref name="configFilePath" />.
        /// </returns>
        private static Settings LoadConfigurationFromFile(string configFilePath, ILog log)
        {
            log.DebugFormat("Attempting to load settings from external configuration file '{0}'", configFilePath);
            var fileMap            = new ConfigurationFileMap(configFilePath);
            var configuration      = ConfigurationManager.OpenMappedMachineConfiguration(fileMap);
            var section            = (NewRelicConfigurationSection)configuration.GetSection("newRelic");
            var settingsFromConfig = Settings.FromConfigurationSection(section, log);

            log.InfoFormat("Settings loaded successfully");

            return(settingsFromConfig);
        }