Another property of the logarithm is that it is multivalued.
Consider: e0 = 1, and e2πi = 1 (where e is Euler's number and i is iota). So ln(1) can be 0, or it can be 2πi (or 4πi, or -2πi, etc.).
Now take into account that ln(a * b) = (ln(a) + ln(b)), and (a * 1) = a, so 1 can be substituted for b in any natural logarithm. For any x that satisfies ex = a, there's also e(x + 2Zπi) = a (where Z is the set of integers), i.e. if x is a solution to ln(a) then so is (x + 2Zπi).
But that's not all: one more property of logarithms is that:
logb(a) = (logc(a) / logc (b)), for any c.
Choosing e for c, when b is already e, gives:
ln(a) = (ln(a) / ln(e)) = ((ln(a) + 2Zπi) / (1 + 2Zπi)). So if x is a solution to ln(a), so is ((x + 2Zπi) / (1 + 2Zπi)).
Finally, choosing e for c above, any logarithm to any base is multivalued.
logb(a) = (ln(a) / ln(b)) = (((ln(a) + 2Zπi) / (1 + 2Zπi)) / ((ln(b) + 2Zπi) / (1 + 2Zπi)))
That's a countable infinity of possible answers, with four dimensions (or degrees of freedom).