using System; using System.Diagnostics; using System.Text; namespace MongoDbGenericRepository.Services { public static class HelperService { public static string NotifyException(string FunctionName, string Context, Exception ex) { string source = FunctionName + ": " + Context; source = GetAllInformation(ex, source); Debug.WriteLine(source); return source; } /// /// Get all exception information /// /// /// /// public static string GetAllInformation(Exception exception, string source) { var sb = new StringBuilder(); sb.AppendLine("********** " + DateTime.Now.ToLongDateString() + "**********"); while (exception != null) { sb.AppendLine("Inner Exception Type: "); sb.AppendLine(exception.InnerException.GetType().ToString()); sb.AppendLine("Inner Exception: "); sb.AppendLine(exception.InnerException.Message); sb.AppendLine("Inner Source: "); sb.AppendLine(exception.InnerException.Source); if (exception.InnerException.StackTrace != null) { sb.AppendLine("Inner Stack Trace: "); sb.AppendLine(exception.InnerException.StackTrace); } sb.AppendLine("Exception Type: "); sb.AppendLine(sb.GetType().ToString()); sb.AppendLine("Exception: " + exception.Message); sb.AppendLine("Source: " + source); sb.AppendLine("Stack Trace: "); if (exception.StackTrace != null) { sb.AppendLine(exception.StackTrace); sb.AppendLine(); } exception = exception.InnerException; } return sb.ToString(); } } }