Skip to content

Commit c999c3e

Browse files
authored
Removed unnecessary enumeration of all assemblies for NetStandard2 (and newer) (#485)
1 parent 996fc65 commit c999c3e

2 files changed

Lines changed: 7 additions & 37 deletions

File tree

src/NLog.Extensions.Hosting/Extensions/ConfigureExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ public static IHostBuilder UseNLog(this IHostBuilder builder, NLogProviderOption
4242
private static void AddNLogLoggerProvider(IServiceCollection services, IConfiguration configuration, NLogProviderOptions options, Func<IServiceProvider, IConfiguration, NLogProviderOptions, NLogLoggerProvider> factory)
4343
{
4444
ConfigurationItemFactory.Default.RegisterItemsFromAssembly(typeof(ConfigureExtensions).GetTypeInfo().Assembly);
45-
45+
LogManager.AddHiddenAssembly(typeof(ConfigureExtensions).GetTypeInfo().Assembly);
4646
services.TryAddNLogLoggingProvider((svc, addlogging) => svc.AddLogging(addlogging), configuration, options, factory);
4747
}
4848

src/NLog.Extensions.Logging/Logging/NLogLoggerProvider.cs

Lines changed: 6 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -99,53 +99,23 @@ protected virtual void Dispose(bool disposing)
9999
private static void RegisterHiddenAssembliesForCallSite()
100100
{
101101
InternalLogger.Debug("Hide assemblies for callsite");
102-
LogManager.AddHiddenAssembly(typeof(NLogLoggerProvider).GetTypeInfo().Assembly);
103102
Config.ConfigurationItemFactory.Default.RegisterItemsFromAssembly(typeof(NLogLoggerProvider).GetTypeInfo().Assembly);
104103

104+
LogManager.AddHiddenAssembly(typeof(NLogLoggerProvider).GetTypeInfo().Assembly);
105+
LogManager.AddHiddenAssembly(typeof(Microsoft.Extensions.Logging.ILogger).GetTypeInfo().Assembly);
106+
105107
#if !NETCORE1_0
106-
var allAssemblies = AppDomain.CurrentDomain.GetAssemblies();
107-
foreach (var assembly in allAssemblies)
108-
{
109-
if (ShouldAddHiddenAssembly(assembly))
110-
{
111-
LogManager.AddHiddenAssembly(assembly);
112-
}
113-
}
108+
LogManager.AddHiddenAssembly(typeof(Microsoft.Extensions.Logging.LoggerFactory).GetTypeInfo().Assembly);
114109
#else
115110
SafeAddHiddenAssembly("Microsoft.Logging");
116111
SafeAddHiddenAssembly("Microsoft.Extensions.Logging");
117-
SafeAddHiddenAssembly("Microsoft.Extensions.Logging.Abstractions");
118112

119113
//try the Filter ext, this one is not mandatory so could fail
120114
SafeAddHiddenAssembly("Microsoft.Extensions.Logging.Filter", false);
121115
#endif
122116
}
123117

124-
#if !NETCORE1_0
125-
private static bool ShouldAddHiddenAssembly(Assembly assembly)
126-
{
127-
var assemblyFullName = assembly?.FullName;
128-
if (string.IsNullOrEmpty(assemblyFullName))
129-
return false;
130-
131-
foreach (var hiddenAssemblyPrefix in HiddenAssemblyPrefixes)
132-
if (assemblyFullName.StartsWith(hiddenAssemblyPrefix, StringComparison.OrdinalIgnoreCase))
133-
return true;
134-
135-
return false;
136-
}
137-
138-
private static readonly string[] HiddenAssemblyPrefixes = new[]
139-
{
140-
"NLog.Extensions.Logging,",
141-
"NLog.Web,",
142-
"NLog.Web.AspNetCore,",
143-
"Microsoft.Extensions.Logging,",
144-
"Microsoft.Extensions.Logging.Abstractions,",
145-
"Microsoft.Extensions.Logging.Filter,",
146-
"Microsoft.Logging,"
147-
};
148-
#else
118+
#if NETCORE1_0
149119
private static void SafeAddHiddenAssembly(string assemblyName, bool logOnException = true)
150120
{
151121
try
@@ -163,7 +133,7 @@ private static void SafeAddHiddenAssembly(string assemblyName, bool logOnExcepti
163133
}
164134
}
165135
#endif
166-
}
136+
}
167137
}
168138

169139

0 commit comments

Comments
 (0)