77using System ;
88using System . Collections . Generic ;
99using System . Configuration ;
10+ using Microsoft . Extensions . Configuration ;
1011using Xtensive . Core ;
12+ using Xtensive . Orm . Configuration . Internals ;
1113using ConfigurationSection = Xtensive . Orm . Configuration . Elements . ConfigurationSection ;
1214
1315namespace Xtensive . Orm . Configuration
@@ -43,7 +45,7 @@ public static LoggingConfiguration Load()
4345 /// <returns>Loaded configuration.</returns>
4446 public static LoggingConfiguration Load ( string sectionName )
4547 {
46- ArgumentValidator . EnsureArgumentNotNullOrEmpty ( sectionName , " sectionName" ) ;
48+ ArgumentValidator . EnsureArgumentNotNullOrEmpty ( sectionName , nameof ( sectionName ) ) ;
4749
4850 var section = ( ConfigurationSection ) ConfigurationManager . GetSection ( sectionName ) ;
4951 if ( section == null )
@@ -70,8 +72,8 @@ public static LoggingConfiguration Load(System.Configuration.Configuration confi
7072 /// <returns>Loaded configuration.</returns>
7173 public static LoggingConfiguration Load ( System . Configuration . Configuration configuration , string sectionName )
7274 {
73- ArgumentValidator . EnsureArgumentNotNull ( configuration , " configuration" ) ;
74- ArgumentValidator . EnsureArgumentNotNullOrEmpty ( sectionName , " sectionName" ) ;
75+ ArgumentValidator . EnsureArgumentNotNull ( configuration , nameof ( configuration ) ) ;
76+ ArgumentValidator . EnsureArgumentNotNullOrEmpty ( sectionName , nameof ( sectionName ) ) ;
7577
7678 var section = ( ConfigurationSection ) configuration . GetSection ( sectionName ) ;
7779 if ( section == null )
@@ -80,12 +82,36 @@ public static LoggingConfiguration Load(System.Configuration.Configuration confi
8082 return loggingConfiguration ;
8183 }
8284
85+ /// <summary>
86+ /// Loads logging configuration from the specified configuration section.
87+ /// </summary>
88+ /// <param name="configurationSection">Root configuration section where logging configuration is placed.</param>
89+ /// <returns>Logging configuration.</returns>
90+ /// <exception cref="InvalidOperationException">The logging section is not found.</exception>
8391 public static LoggingConfiguration Load ( IConfigurationSection configurationSection )
8492 {
8593 return new LoggingConfigurationReader ( ) . Read ( configurationSection ) ;
8694 }
8795
96+ /// <summary>
97+ /// Loads logging configuration from default section.
98+ /// </summary>
99+ /// <param name="configurationRoot">Root of configuration.</param>
100+ /// <returns>Read configuration.</returns>
101+ /// <exception cref="InvalidOperationException">The logging section is not found.</exception>
102+ public static LoggingConfiguration Load ( IConfigurationRoot configurationRoot )
103+ {
88104 return new LoggingConfigurationReader ( ) . Read ( configurationRoot ) ;
105+ }
106+
107+ /// <summary>
108+ /// Loads logging configuration from specific section.
109+ /// </summary>
110+ /// <param name="configurationRoot">Root of configuration.</param>
111+ /// <param name="sectionName">Section name where logging configuration is defined.</param>
112+ /// <returns>Read configuration.</returns>
113+ /// <exception cref="InvalidOperationException">The logging section is not found.</exception>
114+ public static LoggingConfiguration Load ( IConfigurationRoot configurationRoot , string sectionName )
89115 {
90116 return new LoggingConfigurationReader ( ) . Read ( configurationRoot , sectionName ) ;
91117 }
0 commit comments