When working with complex exponents, remember that you will get an infinite number of answers. The standard way of solving log problems doesn't really apply here. This is how you would solve this problem:
x=i^i => x = exp(i*log(i))
This is a definition from Complex Analysis
log(i) = Log|i| + i*arg(i)
This is the definition of log(z) where z is complex. Note it is not quite the same as ln(x).
Log(x) is a real function and works exactly the same as ln(x), its just a different terminology used in math.
arg(i) is definited as the angle the 'imaginary vector' makes with the positive real axis.
|i| is the magnitude of i (absolute value), which is 1.
So, log(i) = Log(1) + i*arg(i) = 0 + i*Pi/2 + i*2*Pi*k where k is an integer (by definition of arg(z))
Thus,x = i^i = exp(i*i(Pi/2 + 2*Pi*k) = exp(-Pi/2 - 2*Pi*k) k element of Z/ (The Integers)
Which provides for an infinite number of solutions.
It is certainly reasonable to use the principle value of the log, if that is what is asked for. However, if someone wants x=i^i, without specifying they only want the principle value (k=0), you need to specify all possible solutions. It would be like solving a standard quadratic, and only providing the positive solution. Its still correct, but incomplete.