public static string GetExceptionString(Exception ex, ExceptionStringFormat format = ExceptionStringFormat.Default) { var stacktrace = ex.StackTrace; var exceptionPrefix = string.Empty; var exceptionFormat = ExceptionFormatString; var lineEndFormat = ExceptionLineEndFormat; switch (format) { case ExceptionStringFormat.Html: lineEndFormat = HtmlLineEndFormat; stacktrace = stacktrace.Replace("\n", lineEndFormat); exceptionPrefix = HtmlInnerExceptionPrefix; exceptionFormat = HtmlExceptionFormatString; break; case ExceptionStringFormat.Console: lineEndFormat = ConsoleLineEndFormat; stacktrace = stacktrace.Replace("[", "%((%").Replace("]", "%))%"); exceptionPrefix = ConsoleInnerExceptionPrefix; exceptionFormat = ConsoleExceptionFormatString; break; } var exception = string.Empty; exception += string.Format(exceptionFormat, lineEndFormat, ex.Message, stacktrace, ex.GetType()); if (ex.InnerException != null) { exception += string.Format(exceptionPrefix, lineEndFormat, GetExceptionString(ex.InnerException)); } return(exception); }
public string GetExceptionString(Exception ex, ExceptionStringFormat format = ExceptionStringFormat.Default) { var stacktrace = ex.StackTrace; var exceptionPrefix = string.Empty; var exceptionFormat = ExceptionFormatString; var lineEndFormat = ExceptionLineEndFormat; switch (format) { case ExceptionStringFormat.Html: lineEndFormat = HtmlLineEndFormat; stacktrace = stacktrace.Replace("\n", lineEndFormat); exceptionPrefix = HtmlInnerExceptionPrefix; exceptionFormat = HtmlExceptionFormatString; break; case ExceptionStringFormat.Console: lineEndFormat = ConsoleLineEndFormat; stacktrace = stacktrace.Replace("[", "%((%").Replace("]", "%))%"); exceptionPrefix = ConsoleInnerExceptionPrefix; exceptionFormat = ConsoleExceptionFormatString; break; } var exception = string.Empty; exception += string.Format(exceptionFormat, lineEndFormat, ex.Message, stacktrace, ex.GetType()); if (ex.InnerException != null) { exception += string.Format(exceptionPrefix, lineEndFormat, GetExceptionString(ex.InnerException)); } return exception; }