func getZapFields()

in client/internal/http/log.go [35:52]


func getZapFields(keysAndValues []interface{}) []zap.Field {
	var fields []zap.Field
	failed := len(keysAndValues)%2 != 0
	for i := 0; i < len(keysAndValues)-1 && !failed; i += 2 {
		key, ok := keysAndValues[i].(string)
		if !ok || i+1 >= len(keysAndValues) {
			failed = true
			break
		}
		fields = append(fields, zap.Any(key, keysAndValues[i+1]))
	}
	if failed {
		fields = []zapcore.Field{
			zap.Any("leveled_logger_fields", keysAndValues),
		}
	}
	return fields
}