# Product rule for logarithms works on any non-zero value?

The product rule for logarithms states that:

$$\log_b M + \log_b N = \log_b (M\cdot N)$$

Most sources that I've found* state that this rule only applies when $M$ and $N$ are positive. It's true that $\log_b 0$ is undefined, but negative values in place of $M$ and $N$ seem to work just fine:

$$\log(-1) + \log(4) = \log(-1\cdot 4)$$

Why the discrepancy?

*my algebra textbook, Wolfram|Alpha, Wikipedia

Try this in Wolframalpha. $$\log(-1) + \log(-2) = \log((-1) \times (-2))$$ This will give you the result is false. The reason being $\log$ in the true sense is a multi-valued function. This is due to the fact that any $z \in \mathbb{C}$ can also be written as $z \cdot e^{2k \pi i}$, where $k \in \mathbb{Z}$. This results in a multi-valued logarithm function. For instance, $$\log(2) = \ln(2) + 2 k\pi i$$ where $k \in \mathbb{Z}$ and $\ln(2)$ denotes the real value $\approx 0.69$.
However, if we restrict our domain to positive reals, and say we are only interested in real valued logarithm, then we have $$\ln(ab) = \ln(a) + \ln(b)$$where $a,b \in \mathbb{R}^+$. It is also important to note that the imaginary part of $\log(z)$ is an integer multiple of $2 \pi$ if and only if $z$ is a positive real number.
By definition, $$y = \log_b x \qquad \text{means} \qquad b^y = x.$$ Since $b^y > 0$ for all $y \in \mathbb{R}$, as a function of a real variable, $\log_b x$ is only defined for $x>0$.