It's because expressions like "-2^3 = -8" only work for powers that are integers. (Well, only for powers that are rational numbers with odd denominators. But I digress.)
Here's what I mean:
You could use the above equation to assert that "log (base -2) of -8 equals 3", and that works fine, because it's easy to see that -2^3 = (-2)(-2)(-2) = -8. And you can assert that "log(base -2) of 16 equals 4", because it's easy to see that -2^4 = 16.
But what if somebody asked, "how much is log(base -2) of -16?" To what power can you raise -2 to get "-16"? Likewise, to what power can you raise -2 to get "+8"?
If you graph "y = (+2)^x" you get a nice continuous curve. Take its inverse, and you get a nice continuous logarithm curve.
But try graphing "y = (-2)^x".
* If x is an odd integer, y is negative.
* If x is an even integer, y is positive.
* if x is a fraction with an odd denominator, y will be positive or negative, depending on the numerator.
* If x is a fraction with even denominator, y is undefined (because t requires you to take an even root of -2)
* If x is NOT a fraction or an integer (like (-2)^π), who's to say whether y is positive or negative? or defined?
So, the graph of "y = (-2)^x" is not a nice curve, but a discontinuous jumble of dots that jumps from positive to negative and which is not defined for most numbers. Its inverse would not make a very good logarithm function.