With each projection $\pi_i\colon M_1\times M_2 \to M_i$, pull back the Levi-Civita connection $\nabla^i$ of $(M_i,g_i)$ to a connection $\pi_i^*(\nabla^i)$ in the pull-back bundle $\pi_i^*(TM_i) \to M_1\times M_2$. Then form the direct sum bundle $$\pi_1^*(TM_1) \oplus \pi_2^*(TM_2) \to M_1\times M_2,$$and equip it with the direct sum connection $\pi_1^*(\nabla^1)\oplus \pi_2^*(\nabla^2)$. This is the Levi-Civita connection of $(M_1\times M_2 , \pi_1^*g_1 + \pi_2^*g_2)$, since $$\pi_1^*(TM_1) \oplus \pi_2^*(TM_2) \cong T(M_1\times M_2).$$Let $(x^i)$ and $(y^\mu)$ be local coordinates for $M_1$ and $M_2$, respectively, giving local coordinates $(x^i \circ \pi_1, y^\mu \circ \pi_2)$ for $M_1\times M_2$. Any vector field $X$ on $M_1 \times M_2$ may be locally written as $$X_{(x,y)} = \underbrace{\sum_i X^i(x,y) \frac{\partial}{\partial (x^i\circ \pi_1)}\bigg|_{(x,y)}}_{\mbox{$\doteq X_1(x,y)\in T_xM_1$}} + \underbrace{\sum_\mu X^\mu(x,y) \frac{\partial}{\partial (y^\mu \circ \pi_2)}\bigg|_{(x,y)}}_{\mbox{$\doteq X_2(x,y)\in T_yM_2$}},$$and similarly for a second vector field $Y$.
The problem here is that $X_1$ is not a vector field on $M_1$ because it depends also on the point $y \in M_2$ --- likewise for $X_2$ not being a vector field on $M_2$. They are, in fact, sections of $\pi_1^*(TM_1)$ and $\pi_2^*(TM_2)$ (this implies that they are particular vector fields on the full manifold $M_1\times M_2$).
For simplicity, let's omit the $\pi$'s and denote the coordinate vector fields by $\partial_i$ and $\partial_\mu$ only (either on each $M_i$ or on the full product $M_1\times M_2$ --- there will be a slight abuse of notation in what follows, but note the use of letters in different alphabets to indicate these objects live, a priori, in different spaces).
The business with pull-back bundles is the way to work around this "bug".
Using the characteristic properties of direct sums and pull-backs, i.e.,
$(\nabla' \oplus \nabla'')_X(\psi'\oplus \psi'') = \nabla'_X\psi' + \nabla_X''\psi''$
$(F^*\nabla)_X(Y \circ F) = \nabla_{F_\ast X}Y$
one has $$(\pi_1^*(\nabla^1)\oplus \pi_2^*(\nabla^2))_XY = (\pi_1^*(\nabla^1))_{X_1}Y_1 + (\pi_2^*(\nabla^2))_{X_2}Y_2,$$and each term in the right side above is computed in the same way --- let's do the first: $$\begin{align*} (\pi_1^*(\nabla^1))_{X_1}Y_1 &= (\pi_1^*(\nabla^1))_{X_1}\left( \sum_i Y^i \partial_i\right) \\ &= \sum_i X_1(Y^i) \partial_i + \sum_i Y^i (\pi_1^*(\nabla_1))_{X_1}\partial_i \\ &= \sum_i X_1(Y^i)\partial_i + \sum_{i,j} Y^iX^j (\pi_1^*(\nabla^1))_{\partial_j}\partial_i \\ &= \sum_k X_1(Y^k)\partial_k + {\color{red}{\sum_{i,j} X^iY^j \nabla^1_{\partial_i}\partial_j}} \\ &= \sum_k X_1(Y^k)\partial_k + \sum_{i,j,k} X^iY^j (\Gamma^1)_{ij}^k\partial_k \end{align*}$$In the term in red, the abuse of notation $x^i \equiv x^i \circ \pi_1$ kicked in. Similarly, one gets $$(\pi_2^*(\nabla^2))_{X_2}Y_2 = \sum_{\lambda} X_2(Y^\lambda)\partial_\lambda + \sum_{\mu,\nu,\lambda} X^\mu Y^\nu (\Gamma^2)_{\mu\nu}^\lambda \partial_\lambda.$$So, how does one find the Christoffel symbols $\Gamma_{ab}^c$ for this connection? If all $a,b,c$ are not all in the "same alphabet" (i.e., all mid-alphabet latin letters, or all greek letters), we get zero. Else, we get $$(\pi_1^*(\nabla^1)\oplus \pi_2^*(\nabla^2))_{\partial_i}\partial_j = (\Gamma^1)_{ij}^k \partial_k \qquad \mbox{and} \quad (\pi_1^*(\nabla^1)\oplus \pi_2^*(\nabla^2))_{\partial_\mu}\partial_\nu = (\Gamma^2)_{\mu\nu}^\lambda \partial_\lambda.$$
Those results coincide with what you get using the coordinate-version of the Koszul formula $$\Gamma_{ab}^c = \frac{1}{2} \sum_d g^{cd}(\partial_ag_{bd} + \partial_b g_{ad} - \partial_dg_{ab}),$$since we have (in block form) that $$\begin{pmatrix} ((g_1)_{ij})_{i,j} & 0 \\ 0 & ((g_2)_{\mu\nu})_{\mu,\nu} \end{pmatrix}^{-1} = \begin{pmatrix} ((g_1)^{ij})_{i,j} & 0 \\ 0 & ((g_2)^{\mu\nu})_{\mu,\nu} \end{pmatrix}. $$