/// <summary> Creates a <see cref="Logger"/> instance. </summary>
        private static void InitializeLogger()
        {
            if (UseLiveLogging)
            {
                Logger = new ConfiguredNLogger(ELoggerName.FileLogger, new ExceptionFormatter());
            }
            else
            {
                var exceptionFormatter = new Mock <IExceptionFormatter>();
                var mockLogger         = new Mock <IConfiguredLogger>();

                mockLogger
                .Setup(logger => logger.ExceptionFormatter)
                .Returns(exceptionFormatter.Object);

                Logger = mockLogger.Object;
            }
        }
        /// <summary> Initializes NLog-based loggers. Repeated initialization is being skipped. </summary>
        public static void InitializeLoggers()
        {
            if (_loggersInitialized)
            {
                return;
            }

            var fileLogger = new ConfiguredNLogger(ELoggerName.FileLogger, new ExceptionFormatter(), ESubdirectory.Logs, true);

            var wpfLogger = new ConfiguredNLogger(ELoggerName.WpfLogger, new ExceptionFormatter());

            wpfLogger.LogInstantiation(fileLogger);

            Loggers = new IConfiguredLogger[]
            {
                fileLogger,
                wpfLogger,
            };

            Log = CreateActiveLogger(EWpfClientLogCategory.ApplicationHelpers);

            Log.Debug(ECoreLogMessage.InstanceInitialised.FormatFluently(EWord.Loggers));
            _loggersInitialized = true;
        }