From 7c94ccf003798084b8c158b2ae51a8e3fc51c07c Mon Sep 17 00:00:00 2001 From: quantumagi Date: Fri, 14 Jan 2022 12:21:54 +1100 Subject: [PATCH] Fix debug logging in controllers --- .../Configuration/Logging/ILogger.cs | 4 ++-- .../Configuration/Logging/LogManager.cs | 21 ++++++++++++++++--- .../Configuration/Logging/LoggerFactory.cs | 6 ------ 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/src/Stratis.Bitcoin/Configuration/Logging/ILogger.cs b/src/Stratis.Bitcoin/Configuration/Logging/ILogger.cs index fb5da7b5f2..1c7945bcb6 100644 --- a/src/Stratis.Bitcoin/Configuration/Logging/ILogger.cs +++ b/src/Stratis.Bitcoin/Configuration/Logging/ILogger.cs @@ -8,9 +8,9 @@ public class Logger : ILogger { private NLog.Logger logger; - public Logger(NLog.Logger logger) + public Logger(NLog.Logger logger = null) { - this.logger = logger; + this.logger = logger ?? NLog.LogManager.GetCurrentClassLogger(); } /// diff --git a/src/Stratis.Bitcoin/Configuration/Logging/LogManager.cs b/src/Stratis.Bitcoin/Configuration/Logging/LogManager.cs index 7cebe356c4..c7f9e14e42 100644 --- a/src/Stratis.Bitcoin/Configuration/Logging/LogManager.cs +++ b/src/Stratis.Bitcoin/Configuration/Logging/LogManager.cs @@ -1,4 +1,6 @@ -using System.Diagnostics; +using System; +using System.Diagnostics; +using System.Reflection; using Microsoft.Extensions.Logging; namespace Stratis.Bitcoin.Configuration.Logging @@ -24,8 +26,21 @@ private static void LogManager_ConfigurationReloaded(object sender, NLog.Config. public static ILogger GetCurrentClassLogger() { - var methodInfo = new StackTrace().GetFrame(1).GetMethod(); - return new Logger(NLog.LogManager.GetLogger(methodInfo.ReflectedType.ToString())); + try + { + var stackTrace = new StackTrace(); + if (stackTrace.FrameCount > 1) + { + + MethodBase methodInfo = stackTrace.GetFrame(1).GetMethod(); + return new Logger(NLog.LogManager.GetLogger(methodInfo.ReflectedType.ToString())); + } + } + catch (Exception) + { + } + + return new Logger(); } public static void ReconfigExistingLoggers() diff --git a/src/Stratis.Bitcoin/Configuration/Logging/LoggerFactory.cs b/src/Stratis.Bitcoin/Configuration/Logging/LoggerFactory.cs index a7246a6518..04b4a59821 100644 --- a/src/Stratis.Bitcoin/Configuration/Logging/LoggerFactory.cs +++ b/src/Stratis.Bitcoin/Configuration/Logging/LoggerFactory.cs @@ -6,12 +6,6 @@ namespace Stratis.Bitcoin.Configuration.Logging { public class CustomLoggerFactory : ILoggerFactory { - public ILogger CreateLogger() - { - var methodInfo = new StackTrace().GetFrame(1).GetMethod(); - return new Logger(NLog.LogManager.LogFactory.GetLogger(methodInfo.ReflectedType.ToString())); - } - public ILogger CreateLogger(string name) { return new Logger(NLog.LogManager.LogFactory.GetLogger(name));