Alright, let me clear a few things up, because it sounds like there may be some confusion, and that's the last thing I want.
First of all, tools.jar probably isn't ever required. It contains utilities for running the compiler, JavaDoc, and other normally-executable utilities from the Java API instead of the command line. It doesn't contain any JMX or JConsole classes that I can see. So I think removing it as a dependency is safe.
Now as far as I can tell jconsole.jar is required for compiling and running the GUI JMX classes. Even if it WERE required for the other JMX classes, it would never be required to COMPILE an application that was using Log4j. It would only be required to RUN an application using Log4j (which means the running application would have to be running in a JDK).
Of course, we certainly don't want to introduce a dependency on a JDK in order to use Log4j. As I said, my suspicion is that these JDK-only classes are ONLY required for the GUI classes. However, the best way to ensure this is, as many have agreed here, to move the GUI classes into a separate submodule (log4j-jconsole-plugin, or similar). Then, we should be able to remove the jconsole.jar dependency from the Core since it would only be required in the submodule.
Hope this clears a few things up.