in src/log4net/Layout/Pattern/ExceptionPatternConverter.cs [93:135]
protected override void Convert(TextWriter writer, LoggingEvent loggingEvent)
{
if (loggingEvent.ExceptionObject != null && Option != null && Option.Length > 0)
{
switch (Option.ToLower())
{
case "message":
WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.Message);
break;
#if !NETCF
case "source":
WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.Source);
break;
case "stacktrace":
WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.StackTrace);
break;
#if !NETSTANDARD
case "targetsite":
WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.TargetSite);
break;
#endif
case "helplink":
WriteObject(writer, loggingEvent.Repository, loggingEvent.ExceptionObject.HelpLink);
break;
#endif
default:
// do not output SystemInfo.NotAvailableText
break;
}
}
else
{
string exceptionString = loggingEvent.GetExceptionString();
if (exceptionString != null && exceptionString.Length > 0)
{
writer.WriteLine(exceptionString);
}
else
{
// do not output SystemInfo.NotAvailableText
}
}
}