I have a function $f(x)$ defined in $x\in[0,\infty)$ (I want $f(0)<\infty$) and want to change the variable as $y=\log(x)$. So we have a new function $u(y)$ and the followings
$f(x)dx=u(y)dy$
$ \Rightarrow f(x)=u(y)\frac{dy}{dx} =u(y)\frac{1}{x}=u(y)e^{-y}$
Because of the domain of $x$, $u(y)$ is defined in $y \in(-\infty,\infty)$. However, it gives
$f(0) =u(-\infty)\frac{1}{0}=u(-\infty)e^{\infty}$ and
$f(\infty) =u(\infty)\frac{1}{\infty}$
and they look not appropriate. Where did I make mistake?
Since $f(x)$ is defined on $[0,\infty]$ we are allowed to set $y=\log x \iff x=e^y$ with $y\in (-\infty,\infty)$ but note that since $e^y$, injective, has range $(0,\infty)$ the value $x=0$ is not reached.
Moreover we have
$$f(x)=u(y) \implies f'(x)dx=u'(y)dy$$
and since $u(y)=f(e^y) \implies u'(y)=e^yf'(e^y)$ by chain rule.