Exemple #1
0
        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);
            }
        }
Exemple #2
0
        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)));
        }
Exemple #3
0
        /// <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)));
            }
        }
Exemple #4
0
 /// <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);