A Plea To Java Developers

Can we please stop using Log4j? The standard library has contained a logging API since 2002 (over five years ago!) and sure, the java.util.logging API is a little baroque, but so is the entire platform.

The Log4j wiki attempts to justify its ongoing existence with a long list of bullet points, but they boil down to three arguments.

We were here first

So was COBOL.

We are a better

Yes, Log4j has a nicer API, but the only real difference is better convenience methods. The standard library's model is nearly identical and 99% of the time works the same way.

Also, if you are doing so much logging that it is a performance issue, either the logging is an essential part of the application and you should probably use something more appropriate, or you are doing too much logging. Try writing some test cases instead.

We have tools

I'm kind of bewildered that people care enough to write generic GUIs for a logging subsystem. At the same time, I'm saddened that people chose to write them for Log4j instead of the standard libraries - there is no reason why that couldn't have been the case.

I know it's just one more JAR and one more dammed configuration file, but we should be fighting complexity, not giving into it.