java.util.logging and log4j work in slightly different ways. Having got used to log4j, I've never worked with anything else, so I can't comment on it, but
other people have done so.
Commons Logging is an API on top of either of those packages (and a few others as well). If you write to it, you can switch the actual logging package later without having to change your code.