Why are logarithms not defined for 0 and negatives?
Solution 1:
You can define everything you want, but will this newborn object satisfy properties you want, depends on your definition. Assume, we do have logarithms for negative numbers and zero and all the properties of logarithms are preserved. Then we immediately obtain a contradiction. Here it is $$ 0=\log 1=\log(-1)^2=2\log (-1) $$ so $\log(-1)=0$ and from the definition of logarithms we have $-1=10^0=1$. This is one of the reasons.
But if you still want to take logarithms of negative numbers, you must relax some requiremetns. The most reasonable is to make logarithms multivalued with values in $\mathbb{C}$. For more detailed description of such logarithms look at Complex logarithm
Solution 2:
No, that’s not right: no matter what the base $b$, $\log_b x$ is not defined for $x\le 0$. Recall that $\log_b x=y$ means that $b^y=x$. If $b>0$ and $b\ne 1$, no power of $b$ is negative or $0$, so the equation $b^y=x$ has no solution for $x\le 0$. We don’t define logs base $b$ for $b=1$ or $b\le 0$.
(I am assuming that you are working in $\mathbb{R}$, the real numbers; matters become much more complicated in $\Bbb{C}$, the set of complex numbers.)
Your comments that $(-1)^3=-1$ and $0^1=0$ suggest that you may actually want to ask why we don’t define logs base $b$ for $b=1$ or $b\le 0$, though that’s not the question that you actually did ask. A mathematically honest answer would be rather complicated, since it hinges on how one defines the logarithm function rigorously in the first place. Still, some difficulties are pretty easy to see. If $b$ is $1$ or $0$, there are very few values of $x$ for which the equation $b^y=x$ has a solution, so the notion of logs base $0$ or $1$ would obviously be pretty useless. What about something like $b=-2$? What would $\log_{-2}2$ be? If it’s $y$, we have $(-2)^y=2$, so $-2=2^{1/y}$, which is impossible, since no power of $2$ is negative.