When can you reorder log operations? For example, you can reorder a softmax + nl (negative likelihood)
 to  log_softmax + nll (negative log-likelihood) 

Essentially changing log(softmax(x)) to softmax(log(x))

However, what are the rules to reordering logging of things?
In general, you cannot reorder like that. The example you give is a very special case that only works because softmax is based on the exponential function, which is the inverse function of the natural logarithm.