Skip to content

Commit cf8d8b6

Browse files
Merge pull request #184 from NLog/safe-hide-assembly
Better hide assemblies for ${callsite}
2 parents 3701273 + 098a838 commit cf8d8b6

1 file changed

Lines changed: 20 additions & 22 deletions

File tree

src/NLog.Extensions.Logging/Extensions/ConfigureExtensions.cs

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -74,38 +74,36 @@ public static ILoggingBuilder AddNLog(this ILoggingBuilder factory, NLogProvider
7474
/// </summary>
7575
private static void ConfigureHiddenAssemblies()
7676
{
77-
try
78-
{
79-
InternalLogger.Trace("Hide assemblies for callsite");
77+
78+
InternalLogger.Trace("Hide assemblies for callsite");
8079

8180
#if NETCORE1_0
82-
LogManager.AddHiddenAssembly(Assembly.Load(new AssemblyName("Microsoft.Logging")));
81+
SafeAddHiddenAssembly("Microsoft.Logging");
8382
#endif
8483

85-
LogManager.AddHiddenAssembly(Assembly.Load(new AssemblyName("Microsoft.Extensions.Logging")));
86-
LogManager.AddHiddenAssembly(Assembly.Load(new AssemblyName("Microsoft.Extensions.Logging.Abstractions")));
87-
LogManager.AddHiddenAssembly(Assembly.Load(new AssemblyName("NLog.Extensions.Logging")));
84+
SafeAddHiddenAssembly("Microsoft.Extensions.Logging");
85+
SafeAddHiddenAssembly("Microsoft.Extensions.Logging.Abstractions");
86+
SafeAddHiddenAssembly("NLog.Extensions.Logging");
8887

89-
try
90-
{
91-
//try the Filter ext
92-
InternalLogger.Trace("Try hide Microsoft.Extensions.Logging.Filter assembly for callsite");
93-
var filterAssembly = Assembly.Load(new AssemblyName("Microsoft.Extensions.Logging.Filter"));
94-
LogManager.AddHiddenAssembly(filterAssembly);
95-
InternalLogger.Trace("Hide Microsoft.Extensions.Logging.Filter assembly for callsite done");
96-
97-
}
98-
catch (Exception ex)
99-
{
100-
InternalLogger.Trace(ex, "filtering Microsoft.Extensions.Logging.Filter failed. Not an issue probably");
101-
}
88+
//try the Filter ext, this one is not mandatory so could fail
89+
SafeAddHiddenAssembly("Microsoft.Extensions.Logging.Filter", false);
10290

103-
InternalLogger.Trace("Hide assemblies for callsite - done");
91+
}
10492

93+
private static void SafeAddHiddenAssembly(string assemblyName, bool logOnException = true)
94+
{
95+
try
96+
{
97+
InternalLogger.Trace("Hide {0}", assemblyName);
98+
var assembly = Assembly.Load(new AssemblyName(assemblyName));
99+
LogManager.AddHiddenAssembly(assembly);
105100
}
106101
catch (Exception ex)
107102
{
108-
InternalLogger.Debug(ex, "failure in ignoring assemblies. This could influence the ${callsite}");
103+
if (logOnException)
104+
{
105+
InternalLogger.Debug(ex, "Hiding assembly {0} failed. This could influence the ${callsite}", assemblyName);
106+
}
109107
}
110108
}
111109

0 commit comments

Comments
 (0)