Even the Sun engineers fell into this trap. Prior to Java 4,
we had a perfectly good logging framework in Log4J. However,
instead of adopting this into the standard Java distribution,
we ended up with java.util.logging. There are lots of Java
logging frameworks available, even meta-logging frameworks
like SLF4J and Jakarta Commons. These are supposed to
abstract the logging frameworks so you can change the
implementation without touching your code.