$
\def\op#1{\operatorname{#1}}
\def\bbR#1{{\mathbb R}^{#1}}
\def\e{\varepsilon}
\def\o{{\tt1}}
\def\f{\frac{\tt1}{f}}
\def\p{\partial}
\def\A{{\cal A}}\def\L{{\cal L}}
\def\LR#1{\left(#1\right)}
\def\BR#1{\Big(#1\Big)}
\def\trace#1{\op{Tr}\LR{#1}}
\def\Diag#1{\op{Diag}\LR{#1}}
\def\diag#1{\op{diag}\LR{#1}}
\def\qiq{\quad\implies\quad}
\def\grad#1#2{\frac{\p #1}{\p #2}}
\def\m#1{\left[\begin{array}{r}#1\end{array}\right]}
\def\mb#1{\left[\begin{array}{c|c}#1\end{array}\right]}
\def\c#1{\color{red}{#1}}
\def\CLR#1{\c{\LR{#1}}}
\def\fracLR#1#2{\LR{\frac{#1}{#2}}}
\def\gradLR#1#2{\LR{\grad{#1}{#2}}}
\def\z#1{\op{\zeta}\!\LR{#1}}
\def\smA{{\small A}}
\def\smB{{\small B}}
$Introduce the matrix variables
$$\eqalign{
A &= X,\quad &L = \log(A), \quad &L_0 = \log(A_0) \\
}$$
Since $A$ is positive definite it can be diagonalized
$$A=QBQ^T,\quad B=\Diag{b},\quad Q^TQ=I$$
First calculate the differential of the distance function $f$
$$\eqalign{
f^2 &= \|L-L_0\|^2_F \\
&= \LR{L-L_0}:\LR{L-L_0} \\
2f\;df &= 2\LR{L-L_0}:dL \\
df &= \f\LR{L-L_0}:dL \\
df &= G:\c{dL} \qiq G \doteq \fracLR{L-L_0}{f} \\
}$$
Now invoke the Daleckii-Krein theorem $\:\big(\odot$ denotes the Hadamard product$\big)$
$$\eqalign{
\c{dL} &= Q\BR{R\odot\LR{Q^TdA\,Q}}Q^T \\
}$$
Substituting this into the previous differential leads to
the desired gradient
$$\eqalign{
df &= G:\c{Q\BR{R\odot\LR{Q^TdA\,Q}}Q^T} \\
&= Q\BR{R\odot\LR{Q^TG\,Q}}Q^T:dA \\
\grad{f}{A} &= Q\BR{R\odot\LR{Q^TG\,Q}}Q^T \\
}$$
The final task is to evaluate the $R$ matrix which lies at the heart of the theorem. This can be done using the log function and its derivative $\left\{\log(x),\frac{1}{x}\right\}$ evaluated at $B$, an all-ones matrix $J$, and $\z{X}$ which is an elementwise $\c{\sf zero\:indicator}$ function
$$\eqalign{
\z{X}_{ij} &= \begin{cases}
\o\qquad {\rm if}\;X_{ij}=0 \\
0\qquad {\rm otherwise} \\
\end{cases}
\\
Z &= \z{BJ-JB},\qquad L_\smB = \log(B),\qquad L_\smB' = B^{-1} \\
R &= {\frac{L_\smB J-JL_\smB+ZL_\smB'}{BJ-JB+Z}}
\qquad \big({\rm Hadamard\;division}\big) \\\\
}$$
or in terms of the components of the $b$ vector
$$\eqalign{
R_{jk} &= \begin{cases}
{\Large\frac{\log(b_j)\,-\,\log(b_k)}{b_j\,-\,b_k}} \quad{\rm if}\; b_j\ne b_k \\
\\
\qquad\quad {\Large\frac{\o}{b_k}} \qquad\qquad {\rm otherwise} \\
\end{cases}\\
\\
}$$
Note that some of the steps above use the Frobenius product $(A:B)$, which is an extremely useful product notation for the trace function
$$\eqalign{
A:B &= \trace{A^TB} \;=\; \sum_{i=1}^m\sum_{j=1}^n A_{ij}B_{ij} \\
A:A &= \|A\|^2_F \qquad \big({\rm hence\;the\;name}\big) \\
}$$
Note that the Frobenius and Hadamard products commute
$$\eqalign{
A:(B\odot C)
\;=\; (A\odot B):C
\;=\; \sum_{i=1}^m\sum_{j=1}^n A_{ij}B_{ij}C_{ij} \\
}$$
There are also easily derived rules for rearranging product terms, e.g.
$$\eqalign{
A\odot B &= B\odot A \\
A:B &= B:A \\
(AC^T):B &= A:(BC) = (B^TA):C \\
}$$