/// <summary> /// Записать исключение в лог. /// </summary> /// <param name="exception">Логируемое исключение</param> /// <param name="logShortMessage">Дополнительное сообщение для логгера. Может быть пустым</param> /// <typeparam name="TLoggerClass">Класс логгера</typeparam> private static void LogException <TLoggerClass>(Exception exception, LogShortMessage logShortMessage = default) where TLoggerClass : class { ILogger <TLoggerClass> logger = ServiceMethod.LoggerFactory.CreateLogger <TLoggerClass>(); List <object> @params = new List <object>(); string message = "Ошибка выполнения. Exception: {Exception}."; if (!logShortMessage.Equals(default(LogShortMessage))) { message = logShortMessage.Message + Environment.NewLine + "Ошибка выполнения. Exception: {Exception}."; if ((logShortMessage.Params?.Length ?? 0) > 0) { @params.AddRange(logShortMessage.Params); } } @params.Add(exception); logger.LogError(message, @params.ToArray()); }