Skip to content

Commit

Permalink
Using LogManager.LoadConfiguration
Browse files Browse the repository at this point in the history
  • Loading branch information
snakefoot committed Jan 23, 2018
1 parent 00a88fe commit 16f94b1
Showing 1 changed file with 7 additions and 30 deletions.
37 changes: 7 additions & 30 deletions src/NLog.Extensions.Logging/Extensions/ConfigureExtensions.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System;
using System.IO;
using System.Reflection;
using Microsoft.Extensions.Logging;
using NLog.Common;
Expand All @@ -12,7 +11,6 @@ namespace NLog.Extensions.Logging
/// </summary>
public static class ConfigureExtensions
{

/// <summary>
/// Enable NLog as logging provider in .NET Core.
/// </summary>
Expand All @@ -32,7 +30,6 @@ public static ILoggerFactory AddNLog(this ILoggerFactory factory)
public static ILoggerFactory AddNLog(this ILoggerFactory factory, NLogProviderOptions options)
{
ConfigureHiddenAssemblies();

using (var provider = new NLogLoggerProvider(options))
{
factory.AddProvider(provider);
Expand All @@ -59,8 +56,6 @@ public static ILoggingBuilder AddNLog(this ILoggingBuilder factory)
/// <returns>ILoggerFactory for chaining</returns>
public static ILoggingBuilder AddNLog(this ILoggingBuilder factory, NLogProviderOptions options)
{
ConfigureHiddenAssemblies();

using (var provider = new NLogLoggerProvider(options))
{
factory.AddProvider(provider);
Expand All @@ -74,22 +69,21 @@ public static ILoggingBuilder AddNLog(this ILoggingBuilder factory, NLogProvider
/// </summary>
private static void ConfigureHiddenAssemblies()
{

#if NETCORE1_0
InternalLogger.Trace("Hide assemblies for callsite");

#if NETCORE1_0
SafeAddHiddenAssembly("Microsoft.Logging");
#endif

SafeAddHiddenAssembly("Microsoft.Extensions.Logging");
SafeAddHiddenAssembly("Microsoft.Extensions.Logging.Abstractions");
SafeAddHiddenAssembly("NLog.Extensions.Logging");

//try the Filter ext, this one is not mandatory so could fail
SafeAddHiddenAssembly("Microsoft.Extensions.Logging.Filter", false);

#endif
}

#if NETCORE1_0
private static void SafeAddHiddenAssembly(string assemblyName, bool logOnException = true)
{
try
Expand All @@ -106,6 +100,7 @@ private static void SafeAddHiddenAssembly(string assemblyName, bool logOnExcepti
}
}
}
#endif

/// <summary>
/// Apply NLog configuration from XML config.
Expand All @@ -115,14 +110,8 @@ private static void SafeAddHiddenAssembly(string assemblyName, bool logOnExcepti
/// <returns>Current configuration for chaining.</returns>
public static LoggingConfiguration ConfigureNLog(this ILoggerFactory loggerFactory, string configFileRelativePath)
{
#if NETCORE1_0 && !NET451
var rootPath = System.AppContext.BaseDirectory;
#else
var rootPath = AppDomain.CurrentDomain.BaseDirectory;
#endif

var fileName = Path.Combine(rootPath, configFileRelativePath);
return ConfigureNLog(fileName);
ConfigureHiddenAssemblies();
return LogManager.LoadConfiguration(configFileRelativePath).Configuration;
}

/// <summary>
Expand All @@ -133,19 +122,7 @@ public static LoggingConfiguration ConfigureNLog(this ILoggerFactory loggerFacto
/// <returns>Current configuration for chaining.</returns>
public static LoggingConfiguration ConfigureNLog(this ILoggerFactory loggerFactory, LoggingConfiguration config)
{
LogManager.Configuration = config;

return config;
}

/// <summary>
/// Apply NLog configuration from XML config.
/// </summary>
/// <param name="fileName">absolute path NLog configuration file.</param>
/// <returns>Current configuration for chaining.</returns>
private static LoggingConfiguration ConfigureNLog(string fileName)
{
var config = new XmlLoggingConfiguration(fileName, true);
ConfigureHiddenAssemblies();
LogManager.Configuration = config;
return config;
}
Expand Down

0 comments on commit 16f94b1

Please sign in to comment.