diff --git a/utils/structOperations.go b/utils/structOperations.go index 53bb4c5..35fc317 100644 --- a/utils/structOperations.go +++ b/utils/structOperations.go @@ -22,7 +22,7 @@ func PrintStructContents(s interface{}, indentLevel int) string { field := val.Field(i) fieldType := typ.Field(i) - log.Printf("PrintStructContents field '%s' (%T)\n", field, fieldType) + log.Printf("PrintStructContents [%d] field '%s' (%T)\n", i, field, fieldType) indent := strings.Repeat("\t", indentLevel) result.WriteString(fmt.Sprintf("%s%s: ", indent, fieldType.Name)) @@ -30,13 +30,17 @@ func PrintStructContents(s interface{}, indentLevel int) string { switch field.Kind() { case reflect.Struct: result.WriteString("\n") - result.WriteString(PrintStructContents(field.Interface(), indentLevel+1)) + foo := PrintStructContents(field.Interface(), indentLevel+1) + log.Printf("%s\n", foo) + result.WriteString(foo) default: log.Printf("%v\n", field.Interface()) result.WriteString(fmt.Sprintf("%v\n", field.Interface())) } } + log.Printf("PrintStructContents completed\n") + return result.String() }