public static AssemblyFinder ForSource(ConfigurationAssemblySource configurationAssemblySource) { switch (configurationAssemblySource) { case ConfigurationAssemblySource.UseLoadedAssemblies: return(Auto()); case ConfigurationAssemblySource.AlwaysScanDllFiles: return(new DllScanningAssemblyFinder()); default: throw new ArgumentOutOfRangeException(nameof(configurationAssemblySource), configurationAssemblySource, null); } }
public static LoggerConfiguration ConfigurationSection( this LoggerSettingsConfiguration settingConfiguration, IConfigurationSection configSection, ConfigurationAssemblySource configurationAssemblySource) { if (settingConfiguration == null) { throw new ArgumentNullException(nameof(settingConfiguration)); } if (configSection == null) { throw new ArgumentNullException(nameof(configSection)); } var assemblyFinder = AssemblyFinder.ForSource(configurationAssemblySource); return(settingConfiguration.Settings(new ConfigurationReader(configSection, assemblyFinder, configuration: null))); }
/// <summary> /// Reads logger settings from the provided configuration object using the default section name. Generally this /// is preferable over the other method that takes a configuration section. Only this version will populate /// IConfiguration parameters on target methods. /// </summary> /// <param name="settingConfiguration">Logger setting configuration.</param> /// <param name="configuration">A configuration object which contains a Serilog section.</param> /// <param name="configurationAssemblySource">Defines how the package identifies assemblies to scan for sinks and other Types.</param> /// <returns>An object allowing configuration to continue.</returns> public static LoggerConfiguration Configuration( this LoggerSettingsConfiguration settingConfiguration, IConfiguration configuration, ConfigurationAssemblySource configurationAssemblySource) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } if (configurationAssemblySource == ConfigurationAssemblySource.UseLoadedAssemblies) { return(Configuration(settingConfiguration, configuration)); } else { return(settingConfiguration.Settings(new ConfigurationReader(configuration, null))); } }
/// <summary> /// Reads logger settings from the provided configuration object using the default section name. Generally this /// is preferable over the other method that takes a configuration section. Only this version will populate /// IConfiguration parameters on target methods. /// </summary> /// <param name="settingConfiguration">Logger setting configuration.</param> /// <param name="configuration">A configuration object which contains a Serilog section.</param> /// <param name="configurationAssemblySource">Defines how the package identifies assemblies to scan for sinks and other Types.</param> /// <returns>An object allowing configuration to continue.</returns> public static LoggerConfiguration Configuration( this LoggerSettingsConfiguration settingConfiguration, IConfiguration configuration, ConfigurationAssemblySource configurationAssemblySource) => Configuration(settingConfiguration, configuration, DefaultSectionName, configurationAssemblySource);