protected override void Convert()

in src/log4net/Layout/Pattern/ExceptionPatternConverter.cs [90:128]


  protected override void Convert(TextWriter writer, LoggingEvent loggingEvent)
  {
    if (loggingEvent.ExceptionObject is not null && !string.IsNullOrEmpty(Option))
    {
      switch (Option!.ToLowerInvariant())
      {
        case "message":
          WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.Message);
          break;
        case "source":
          WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.Source);
          break;
        case "stacktrace":
          WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.StackTrace);
          break;
        case "targetsite":
          WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.TargetSite);
          break;
        case "helplink":
          WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.HelpLink);
          break;
        default:
          // do not output SystemInfo.NotAvailableText
          break;
      }
    }
    else
    {
      string? exceptionString = loggingEvent.GetExceptionString();
      if (!string.IsNullOrEmpty(exceptionString))
      {
        writer.WriteLine(exceptionString);
      }
      else
      {
        // do not output SystemInfo.NotAvailableText
      }
    }
  }