/// <summary> /// Creates a <see cref="IConfigurationSource"/> by combining environment variables, /// AppSettings where available, and a local datadog.json file, if present. /// </summary> /// <returns>A new <see cref="IConfigurationSource"/> instance.</returns> public static CompositeConfigurationSource CreateDefaultConfigurationSource() { // env > AppSettings > datadog.json var configurationSource = new CompositeConfigurationSource { new EnvironmentConfigurationSource(), #if !NETSTANDARD2_0 // on .NET Framework only, also read from app.config/web.config new NameValueConfigurationSource(System.Configuration.ConfigurationManager.AppSettings) #endif }; // if environment variable is not set, look for default file name in the current directory var configurationFileName = configurationSource.GetString(ConfigurationKeys.ConfigurationFileName) ?? Path.Combine(System.Environment.CurrentDirectory, "datadog.json"); if (Path.GetExtension(configurationFileName).ToUpperInvariant() == ".JSON" && File.Exists(configurationFileName)) { configurationSource.Add(JsonConfigurationSource.FromFile(configurationFileName)); } return(configurationSource); }
/// <summary> /// Creates a <see cref="IConfigurationSource"/> by combining environment variables, /// AppSettings where available, and a local datadog.json file, if present. /// </summary> /// <returns>A new <see cref="IConfigurationSource"/> instance.</returns> internal static CompositeConfigurationSource CreateDefaultConfigurationSource() { // env > AppSettings > datadog.json var configurationSource = new CompositeConfigurationSource { new EnvironmentConfigurationSource(), #if NETFRAMEWORK // on .NET Framework only, also read from app.config/web.config new NameValueConfigurationSource(System.Configuration.ConfigurationManager.AppSettings) #endif }; if (TryLoadJsonConfigurationFile(configurationSource, out var jsonConfigurationSource)) { configurationSource.Add(jsonConfigurationSource); } return(configurationSource); }
/// <summary> /// Creates a <see cref="IConfigurationSource"/> by combining environment variables, /// AppSettings where available, and a local datadog.json file, if present. /// </summary> /// <returns>A new <see cref="IConfigurationSource"/> instance.</returns> internal static CompositeConfigurationSource CreateDefaultConfigurationSource() { // env > AppSettings > datadog.json var configurationSource = new CompositeConfigurationSource { new EnvironmentConfigurationSource(), #if NETFRAMEWORK // on .NET Framework only, also read from app.config/web.config new NameValueConfigurationSource(System.Configuration.ConfigurationManager.AppSettings) #endif }; string currentDirectory = System.Environment.CurrentDirectory; #if NETFRAMEWORK // on .NET Framework only, use application's root folder // as default path when looking for datadog.json if (System.Web.Hosting.HostingEnvironment.IsHosted) { currentDirectory = System.Web.Hosting.HostingEnvironment.MapPath("~"); } #endif // if environment variable is not set, look for default file name in the current directory var configurationFileName = configurationSource.GetString(ConfigurationKeys.ConfigurationFileName) ?? configurationSource.GetString("DD_DOTNET_TRACER_CONFIG_FILE") ?? Path.Combine(currentDirectory, "datadog.json"); if (Path.GetExtension(configurationFileName).ToUpperInvariant() == ".JSON" && File.Exists(configurationFileName)) { configurationSource.Add(JsonConfigurationSource.FromFile(configurationFileName)); } return(configurationSource); }