Definitely the culture. It seems to be a Java axiom that you should never use one object when eight will do.
I've never seen another community that would actually have a builder for the configuration for the factory for the settings for a class.
This is over a decade old now, but is still very appropriate http://discuss.joelonsoftware.com/?joel.3.219431.12
I assume you've never had the pleasure of configuring a Sendmail installation?
Actually configuring sendmail is a piececake these days thanks to Google and countless engineers documenting in excruciating detail the problems they faced.
Bad logging is not endemic to the Java development mindset... in fact I'd give Java the nod for the _option_ to generate tremendously large quantities of log data when requested, above almost any other platform, excepting maybe Windows if you figure out how to turn on ETL.
If you want bad logging, look at most PHP projects...
For really thoughtful logging, the Apache HTTP client and HikariCP are good Java examples.
After spending 4 days trying to diagnose a problem with hbase given the two errors "No region found" and "No table provided" and finally figuring out it was due to a version mismatch I now believe it is the culture.
At the very least you should be printing a WARN when you connect to an incompatible version.