func makeBatchFromJSON()

in internal/output/lumberjack/lumberjack.go [132:155]


func makeBatchFromJSON(b []byte) []interface{} {
	enc := json.NewDecoder(bytes.NewReader(b))
	enc.UseNumber()

	var data interface{}
	if err := enc.Decode(&data); err != nil {
		return []interface{}{
			map[string]interface{}{
				"message": string(b),
				"tags": []string{
					"invalid-json",
				},
			},
		}
	}

	if slice, ok := data.([]interface{}); ok {
		return slice
	}

	return []interface{}{
		data,
	}
}