a branch of the logarithm
The principal logarithm is one way to choose a single value, but it is not sacred; its only special feature is the particular angle range it uses. A branch of the logarithm is the general idea: any consistent, continuous, single-valued choice of log z on some region, made by committing to one continuous choice of the argument there.
Precisely, a branch of log on an open set D (not containing 0) is a continuous function L on D with e^(L(z)) = z for all z in D. Any such branch automatically has the form L(z) = ln|z| + i theta(z), where theta(z) is a continuous choice of argument on D. Such a branch is automatically holomorphic with derivative 1/z. Two branches on the same connected region differ by a constant 2 pi i k. The principal branch is the special case where the region is the plane slit along the negative real axis and the argument is taken in (-pi, pi]. You could instead slit along the positive imaginary axis, or use the range (0, 2 pi), getting an equally valid but different branch.
The key requirement is continuity without contradiction. You can always pick a single value of log at one point; the difficulty is extending that choice continuously to a whole region. That is possible exactly when the region does not let you loop around the origin, because looping forces the argument to increase by 2 pi and contradicts your starting value. So a branch exists on any simply connected region avoiding 0, and the practical job is to choose the branch whose cut and whose value at a convenient reference point suit your problem.
Pick the branch with argument in (0, 2 pi). For z = -i, the argument is 3 pi/2 (not -pi/2), so this branch gives log(-i) = i 3 pi/2, which differs from Log(-i) = -i pi/2 by 2 pi i.
Same point, different branch, value shifted by exactly 2 pi i.
A branch must be continuous on its whole region; you cannot patch together values at separate points by hand and call it a branch. And no branch can be made continuous on a region that surrounds the origin.