diff --git a/src/NLog.Extensions.Logging/Extensions/ConfigureExtensions.cs b/src/NLog.Extensions.Logging/Extensions/ConfigureExtensions.cs
index 4679d06f..27a37150 100644
--- a/src/NLog.Extensions.Logging/Extensions/ConfigureExtensions.cs
+++ b/src/NLog.Extensions.Logging/Extensions/ConfigureExtensions.cs
@@ -34,7 +34,7 @@ public static ILoggerFactory AddNLog(this ILoggerFactory factory)
/// Enable NLog as logging provider for Microsoft Extension Logging
///
///
- /// NLog options
+ /// NLog Logging Provider options
/// ILoggerFactory for chaining
#if !NETCORE1_0
[Obsolete("Instead use ILoggingBuilder.AddNLog() or IHostBuilder.UseNLog()")]
@@ -89,7 +89,7 @@ public static ILoggingBuilder AddNLog(this ILoggingBuilder factory, IConfigurati
///
///
/// Configuration
- /// NLog options
+ /// NLog Logging Provider options
/// ILoggingBuilder for chaining
public static ILoggingBuilder AddNLog(this ILoggingBuilder factory, IConfiguration configuration, NLogProviderOptions options)
{
@@ -101,7 +101,7 @@ public static ILoggingBuilder AddNLog(this ILoggingBuilder factory, IConfigurati
/// Enable NLog as logging provider for Microsoft Extension Logging
///
///
- /// NLog options
+ /// NLog Logging Provider options
/// ILoggingBuilder for chaining
public static ILoggingBuilder AddNLog(this ILoggingBuilder factory, NLogProviderOptions options)
{
@@ -125,7 +125,7 @@ public static ILoggingBuilder AddNLog(this ILoggingBuilder builder, LoggingConfi
///
///
/// New NLog config.
- /// NLog options
+ /// NLog Logging Provider options
/// ILoggingBuilder for chaining
public static ILoggingBuilder AddNLog(this ILoggingBuilder builder, LoggingConfiguration configuration, NLogProviderOptions options)
{
@@ -158,6 +158,27 @@ public static ILoggingBuilder AddNLog(this ILoggingBuilder builder, string confi
return builder;
}
+ ///
+ /// Enable NLog as logging provider for Microsoft Extension Logging
+ ///
+ ///
+ /// NLog Logging Provider options
+ /// Initialize NLog LogFactory with NLog LoggingConfiguration.
+ /// ILoggingBuilder for chaining
+ public static ILoggingBuilder AddNLog(this ILoggingBuilder builder, NLogProviderOptions options, Func factoryBuilder)
+ {
+ AddNLogLoggerProvider(builder, null, options, (serviceProvider, config, options) =>
+ {
+ serviceProvider.SetupNLogConfigSettings(config);
+
+ // Delay initialization of targets until we have loaded config-settings
+ var logFactory = factoryBuilder(serviceProvider);
+ var provider = CreateNLogLoggerProvider(serviceProvider, config, options, logFactory);
+ return provider;
+ });
+ return builder;
+ }
+
///
/// Enable NLog as logging provider for Microsoft Extension Logging
///
diff --git a/src/NLog.Extensions.Logging/Logging/NLogProviderOptions.cs b/src/NLog.Extensions.Logging/Logging/NLogProviderOptions.cs
index d2069ddd..704677e3 100644
--- a/src/NLog.Extensions.Logging/Logging/NLogProviderOptions.cs
+++ b/src/NLog.Extensions.Logging/Logging/NLogProviderOptions.cs
@@ -3,7 +3,7 @@
namespace NLog.Extensions.Logging
{
///
- /// Options for logging to NLog with
+ /// Configuration options for the NLog Logging Provider with Microsoft Extension Logging
///
public class NLogProviderOptions
{