예제 #1
0
        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);
        }
예제 #2
0
 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;
 }