func()

in appinsights/exception.go [52:81]


func (telem *ExceptionTelemetry) TelemetryData() TelemetryData {
	details := contracts.NewExceptionDetails()
	details.HasFullStack = len(telem.Frames) > 0
	details.ParsedStack = telem.Frames

	if err, ok := telem.Error.(error); ok {
		details.Message = err.Error()
		details.TypeName = reflect.TypeOf(telem.Error).String()
	} else if str, ok := telem.Error.(string); ok {
		details.Message = str
		details.TypeName = "string"
	} else if stringer, ok := telem.Error.(fmt.Stringer); ok {
		details.Message = stringer.String()
		details.TypeName = reflect.TypeOf(telem.Error).String()
	} else if stringer, ok := telem.Error.(fmt.GoStringer); ok {
		details.Message = stringer.GoString()
		details.TypeName = reflect.TypeOf(telem.Error).String()
	} else {
		details.Message = "<unknown>"
		details.TypeName = "<unknown>"
	}

	data := contracts.NewExceptionData()
	data.SeverityLevel = telem.SeverityLevel
	data.Exceptions = []*contracts.ExceptionDetails{details}
	data.Properties = telem.Properties
	data.Measurements = telem.Measurements

	return data
}